任何人都可以告诉我这个javascript可能在做什么

时间:2013-06-09 18:38:22

标签: javascript

所以我正在查看一个包含以下javascript行的项目:

window.negotiationApp = window.negotiationApp || {};

任何人都可以解释这行代码吗?

更新 所以现在我明白这行代码在做什么,我的问题可能在询问以下内容时是独一无二的:

javascript代码中没有negotiationApp对象。 window.negotiationApp将始终设置为空对象,开发人员似乎只是将其用作其他对象的命名空间或容器。这是一种常见的JavaScript练习吗?

4 个答案:

答案 0 :(得分:5)

确保window.negotiationApp已设置。如果window没有此属性,则将其初始化为{}(空对象),否则,它不执行任何操作。

答案 1 :(得分:2)

这是一个成语,基本上意味着,如果window.negotiationApp不存在,请将其设置为{}。您可以这样做,以便将来的信息不会返回undefined或其他内容。

答案 2 :(得分:2)

确保window.negotiationApp对象未定义。

window.negotiationApp = window.negotiationApp || {};

表示如果定义了window.negotiationApp,则使用它或为window.negotiationApp分配一个空对象。

if(window.negotiationApp) {
  window.negotiationApp = window.negotiationApp;
}
else {
  window.negotiationApp = {};
}

答案 3 :(得分:2)

由于此变量是在全局范围内设置的,因此如果存在任何变量,则确保不覆盖现有变量。

所以它基本上说,如果已经定义了negotiationApp变量 - 使用它,如果没有创建一个新变量。