Nar*_*rek 1 javascript jquery system-variable
我注意到了奇怪的问题
看看这个jQuery:
$(function(){
status = 1;
status1 = 2;
$('body').append(status+' - '+status1);
});
Run Code Online (Sandbox Code Playgroud)
如您所见,输出是:
- 2
Run Code Online (Sandbox Code Playgroud)
statusJavaScript或jQuery的system var也是如此?
还有像这样的其他变种吗?
JavaScript有全局变量,在浏览器中,全局变量的属性全局对象是window.
现在,window它本身有几个预定义的属性,其中一些是只读的,如window.status [MDN](这也可能因浏览器而异!).因此,使用这样的名称创建全局变量将失败(变量已存在,但您无法为其分配新值).
您可以在MDN文档中找到预定义属性的列表.
这就是你应该避免全局变量的原因之一.如果你使用局部变量(通过var在必要时声明变量,将所有代码放在函数中),你就没有这个问题:
(function() {
var status = 'foo';
// ....
}());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |