全局环境中,this 默认指向到 window;
函数独立调用(不论这个函数在哪调用),this 默认指向到 window;
document.getElementById('div1').onclick = function () { function a() { console.log(this.id); console.log('this2->', this); // window } a(); }
当函数被作为对象的方法(对象的一个属性)调用时,this 指向该对象;
var myObject = { name: 'sven', getName: function () { console.log(this); // myObject return this.name; } }; myObject.getName();
函数只有调用了之后才有 this 的概念,不然它只是代码而已,我们经常把函数传给一个变量,如果后面没加括号,就只是传了个函数,而不是执行结果;