我刚刚开始使用Javascript,而且我经常遇到以下类型的声明:
var var_name = window.var_name = window.var_name || {};
有人能解释一下这种宣言的意义吗?
答案 0 :(得分:4)
这个表达式:
window.var_name || {}
...只返回window.var_name
的值,除非该值为假(false
,0
,''
,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_name
和window.var_name
变为该值