我对 Javascript 中的变量范围有疑问。我在不同时间加载的网页上有一系列脚本。例如,我需要一个名为 MyVar 的全局对象,以便所有人都可以访问。我想避免重新定义它,但我想它必须在某个时候由第一个脚本定义。我的问题是使用var MyVar = MyVar || {}
解决方案?
谢谢
/**
* Script 1
*/
var MyVar = MyVar || {};
MyVar.config = {
x : 2,
y : 3
};
/**
* Script 2
*/
//is this correct?
var MyVar = MyVar || {};
//to which MyVar am I assigning the apple property?
MyVar.apple = 'red';
更新
到目前为止,伙计们的答案很好,谢谢。
最后一部分,当我var MyVar = MyVar || {};
第二次重复时,第二个 var 语句在做什么?它是否在全局范围内创建了一个新的 var,MyVar
它被分配了现有的值MyVar
?
其他发帖人假设我在<script>
标签中同步加载了这些脚本是正确的,但是由于分工,我创建了脚本然后不控制它们何时以及如何加载,因此需要一种万无一失的方法来创建/利用我的MyVar
对象。
谢谢