Javascipt的this指向
一、this是什么?
先说结论,this是用于指代当前执行上下文的对象
二、this指向的是什么
1.当函数作为一个对象的属性被调用时,指向的是最后调用函数的对象
代码如下(示例):
javascript"> var obj = {name:'Joe',sayName: function(){console.log(this);}}obj.sayName();objvar obj = {name:"Joe",sayName: function(){console.log(this);}}var obj2 = {name:'Joi',sayName: obj.sayName,};obj2.sayName();//输出:Joi
2.当函数仅仅作为函数执行时,this指向的是window
javascript"> function demo(){console.log(this);}demo();//输出:Window
3.ES6箭头函数没有自己的this,箭头函数中的this指向外部函数的this
javascript"> function outer(){var name = 'Joe';var inner = ()=>console.log(this.name);inner();}outer();//输出:window
4.立即执行函数的this指向window
javascript"> (function(){console.log(this);}())//输出:Window