gpt4 book ai didi

javascript - Javascript/jQuery 有系统变量吗?

转载 作者:行者123 更新时间:2023-11-30 07:05:16 25 4
gpt4 key购买 nike

我注意到了一个奇怪的问题。

看看这个 jQuery:

$(function(){
status = 1;
status1 = 2;

$('body').append(status+' - '+status1);
});

Fiddle

如您所见,输出是:

- 2

所以 status 是 JavaScript 或 jQuery 的系统变量?

还有其他类似的变量吗?

最佳答案

JavaScript 有全局 变量,在浏览器中,全局变量是global object 的属性。这是窗口

现在,window 本身有几个预定义的属性,其中一些是只读的,例如 window.status [MDN] (这也可能因浏览器而异!)。因此,使用这样的名称创建全局变量将失败(该变量已存在,但您不能为其分配新值)。

您可以在 MDN documentation 中找到预定义属性列表.


这就是您应该避免全局变量的原因之一。如果您使用局部变量(通过使用 var 声明变量,如有必要,将所有代码放在一个函数中),则不会出现此问题:

(function() {
var status = 'foo';
// ....
}());

关于javascript - Javascript/jQuery 有系统变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15946978/

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