javascript中三种典型情况下this的含义
this本意:基于函数的执行环境绑定。
1)一般函数内部,返回的是window(作用域链中的第二层全局作用域)
function test() { return this; } alert(test());
2)在对象内部的方法,返回的this,指向该对象。
var name = "The window"; var object = { name: "MyObject", getNameFunc: function() { return this.name; } }; alert(object.getNameFunc());
3)在匿名函数中,无论是否在对象内部,都是返回window
function test() { return function (){ return this; }; } alert(test()());//注意test,test()和test()(),返回结果均不同。 var name="The Window"; var object = { name: "My Object", getNameFunc: function () { return function () { return this.name; }; } }; alert(object.getNameFunc()()); //"The Window"