快捷导航

关于闭包里的this这个问题

var name='red';
var obj= {
                name:"blue",
                getName:function() {
                        return function(){
                                return this.name;
                        }
                }
};
alert(obj.getName()());


为什么这个出来的是red 而不是blue,这个function不是在obj的下面吗,我有点迷糊, 希望有人解答这个问题  谢谢了

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

首先 name red 是全局变量,运行alert(obj.getName()());的时候已经指向blue,但是this指向的是整个函数,所以this。name 指向全局变量。希望对你有帮助,祝你学习愉快!
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP