gpt4 book ai didi

javascript - 'window' 是否始终位于 javascript 作用域链的顶部?

转载 作者:行者123 更新时间:2023-11-30 13:34:09 24 4
gpt4 key购买 nike

我见过用 window.global_name 定义的全局变量。我想知道为什么不只使用 global_name 即使这个脚本将在闭包中运行。

UPD:当您在闭包中声明它时,IE 似乎没有明确地将它添加到窗口对象

最佳答案

在任何 ECMAScript 环境中作用域链上的最后一个对象总是全局对象。在浏览器中,window 是全局对象。如果你想访问全局对象 x 或全局变量 x 的属性(它们几乎但不完全相同),你应该明确地用 window.x 以避免 x 被解析为范围链上另一个对象的属性的可能性,或者 globalObj.x 如果你关心非浏览器环境的可移植性。您可以从 ECMAScript 3 或非严格的 ECMAScript 5 中的任何位置获取对全局对象的引用,如下所示:

var globalObj = (function() { return this; })();

关于javascript - 'window' 是否始终位于 javascript 作用域链的顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5571048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com