在使用return中遇到以下一个函数:
var name="super";
var object={
name:"child",
getName:function(){
console.log(this.name);
return function(){
console.log(this.name);
}
}
}
object.getName()()
实际输出结果是:child super
看到这个结果是不是有点奇怪,原本觉得应该是child。
原因分析:return 中定义的function 的作用域是全局作用域。
本文通过一个JavaScript示例探讨了在使用return时定义的匿名函数如何影响作用域,并解释了为什么输出结果中出现了预期之外的变量。该示例有助于理解JavaScript中this关键字的行为以及函数作用域。
652

被折叠的 条评论
为什么被折叠?



