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"
上一篇:手撕面试官系列(八):分布式通讯ActiveMQ+RabbitMQ+Kafka面试专题


下一篇:手撕面试官系列(五):Tomcat+Mysql+设计模式面试专题