JavaScript由于在运行期进行绑定的特性,JavaScript中的this可以是全局对象,当前对象或者任意对象,这完全取决于函数的调用方式
1、全局作用域或者普通函数中this指向全局对象window
console.log(this);//window //函数声明 function bar(){ console.log(this); } bar();//window //function声明函数赋给变量 var bar = function () { console.log(this); } bar ();//window //自执行函数 (function () { console.log(this) })();//window
2、方法调用中谁调用this指向谁
//对象方法调用 var person ={ run: function (){ console.log(this); } } person.run();//person //事件绑定 var btn = document.querySelector("button"); btn.onclick = function (){ console.log(this);//btn }
3、在构造函数或者构造函数原型对象中this指向构造函数的实例
http://www.cnblogs.com/isaboy/archive/2015/10/29/javascript_this.html
转载于:https://www.cnblogs.com/YAN-HUA/p/9154932.html