对于作用域链的问题,这个代码我理解:
var name = 23;
function sayName(){
return name;
}
console.log(sayName()); //23
当前函数作用域没有name
就往上找。
但是,这个为什么不返回对象的 name 属性?
var name = 23;
var obj = {
name: 666,
getName: function(){
return name;
}
};
console.log(obj.getName()); //23
加上
return this.name;
就可以
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.