- 方法中的this,指向调用方法的对象
- 全局环境下指向全局对象
- 全局函数中的this,指向全局对象
- 内部函数中的this,指向全局对象
- 事件中的this,指向触发事件的DOM对象
- 构造函数中的this,指向new创建的对象
- 箭头函数中的this,指向定义函数上下文的this
- 使用闭包,var获取dom的索引
//1.直接输出this指向全局对象 // console.log(this); --------------------------------------------------------- //2.this放在方法中。this指向调用这个方法的对象 // let cat = { // name: 'summer', // sayName() { // console.log('我是summer'); // } // } // cat.sayName(); ------------------------------------------------------------ //3.全局函数其实是window(全局对象)的方法 // function fun() { // console.log(this); // } // fun(); --------------------------------------------------------------- //new关键字做了什么:new会创建对象,将构造函数中的this指向创建出来的对象 //构造函数:用来创建对象 // function F() { // console.log('我是构造函数'); // this.name = '小明' // } // let f = new F(); // console.log(f); -------------------------------------------------------------------- // const btn = document.querySelector('button'); // btn.onclick = function () { // console.log(this); // } -------------------------------------------------------------------------- //箭头函数中没有this // let cat = { // name: 'summer', // sayName() { // console.log(this); // setTimeout(function () {//全局函数下指向window // console.log(this); // }, 1000) // } // } // cat.sayName(); let cat = { name: 'summer', sayName() { console.log(this); setTimeout(() => { console.log(this); }, 1000) } } cat.sayName();
js中this关键字的使用方法
最新推荐文章于 2023-11-01 21:47:29 发布