gpt4 book ai didi

javascript - window.undefined = window.undefined 有什么意义

转载 作者:可可西里 更新时间:2023-11-01 01:25:12 25 4
gpt4 key购买 nike

我正在查看过去版本的 jQuery 代码,似乎在每个版本中 they have this line of code里面的某个地方:

window.undefined = window.undefined;

我不明白为什么这很重要,更重要的是,它有什么作用。这似乎是将 undefined 分配给 undefined,这对我来说毫无意义。

但这似乎很重要,我对此很好奇。

最佳答案

window.undefined 并不总是存在,所以像 if (foo === undefined) 这样的代码会在旧版浏览器中抛出 ReferenceError,因为 undefined 未定义(即未声明)。此代码只是确保 undefined 已定义(未定义)。

不过,这有点不必要,因为有很多方法可以在没有同名全局属性的情况下获取值 undefined。例如,您可以编写 if (foo === void 0) 甚至类似 if (foo === [][0]) 的内容。

Later versions似乎假设 window.undefined 存在于所有支持的浏览器中。 most recent versions使用这样的模式:

(function( window, undefined ) {
...
})( window );

请注意,undefined 没有传入任何值,因此它保证被声明为局部变量,并且具有 undefined 的值。

关于javascript - window.undefined = window.undefined 有什么意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643436/

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