Javascript:需要澄清有关特定类型的变量声明

时间:2011-12-13 18:24:10

标签: javascript

我刚刚开始使用Javascript,而且我经常遇到以下类型的声明: var var_name = window.var_name = window.var_name || {}; 有人能解释一下这种宣言的意义吗?

3 个答案:

答案 0 :(得分:4)

这个表达式:

window.var_name || {}

...只返回window.var_name的值,除非该值为假(false0''undefined,{{1} },或null),在这种情况下,它计算为空对象(NaN)。这用于在{}不存在时提供默认值。

然后将结果值分配回window.var_name

window.var_name

然后将其分配给名为window.var_name = window.var_name || {}; 的(可能)新变量:

var_name

在全球范围内var var_name = window.var_name = window.var_name || {}; 等于var_name。在函数内部,window.var_name将引用一个新的局部变量。

答案 1 :(得分:0)

var_name是一个全局范围变量,初始化为浏览器的窗口var_name值。如果没有值,则将其初始化为空对象{}。只是窗口var_name的副本,用于本地化用法。

答案 2 :(得分:0)

window.var_name || {}等于window.var_name(如果已设置),或等于空对象。

声明的其余部分只是将变量var_namewindow.var_name变为该值