javascript关于this对象,在闭包函数中为什么会引用全局变量?

美少女战士剧场版 17小时前

因为你定义的name变量本身就是个全局变量,而你对象里面又没有定义有相同的变量名,JavaScript会依次从内部外部寻找name这个变量,你可以把变量写到对象里面去。


yangpansui 17小时前

默认都是指向全局对象的,浏览器是window。你这个code应该


gwy2002y 17小时前

因为闭包里的this指向window,你可以在闭包里console.log(this)一下,会发现输出window。至于为什么闭包里的this会指向window,我还分析不出。不过这个结果请牢记。


wsy881688 17小时前

这个问题,并不是说闭包函数的this一定指向全局,而是函数作用域的问题,一个匿名函数作为返回值,这个匿名函数在执行时已经脱离了原来的scope,作用域变为了全局,this自然指向全局。js中有很多这种情况,比如最常见的回调函数。


carmensim 17小时前

分析一下作用域 全局中object -- > object里面的name/getNameFunc --> getNameFunc函数 -- > 返回函数的立即调用。


dhkoifg 17小时前

方法是谁调用的谁就是this。这个列子里面,object.getNameFunc()返回了一个自执行函数


编辑 举报 2023-05-27 13:03

0个评论

暂无评论...
验证码 换一张
相关内容