【发布时间】:2012-09-16 06:39:39
【问题描述】:
我有以下代码:
(function(){
...
var n = n || {};
...
})();
这是我想要的,将 n 设置为 {},因为这是第一次遇到它并且将是未定义的。不幸的是,由于 this 在函数内部,n 的范围仅限于该函数,我无法在其他脚本中使用它。
我只想将行更改为n = n || {},但出现错误:ReferenceError: n is not defined
将其更改为 n = {} 按预期工作;然而,这不是我想要的。我不明白为什么当我不使用var 时n 的不确定性会导致错误,并且当我使用时会按预期工作(作为用于获取OR 语句右侧的错误值)。根据我对 var 关键字的理解,我希望它是两者或两者都不是。
为什么var 很重要,这是怎么回事?
【问题讨论】:
标签: javascript variables namespaces scope var