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
js中this指向
原文地址:https://www.cnblogs.com/YAN-HUA/p/9154932.html