你能解释一下吗?
var lib = lib || {};
我们什么时候需要这样做?我不知道为什么再次使用lib
。
答案 0 :(得分:2)
如果变量lib
有falsy
(null
,false
,0
,undefined
,''
,{{1然后赋值为空(NaN
)对象。您也可以像这样重写您的示例
{}
答案 1 :(得分:1)
此声明的目的是确保lib
是一个真值,或者是一个空对象。
它在许多函数初始化代码中使用,其中参数可能不被调用者传递。
必须注意,lib
可能是true
,并且在此语句之后将保留true
,而不是被空对象替换。
答案 2 :(得分:1)
JavaScript具有以下假值
现在,如果你有例如:
var foo = function(lib){
lib = lib || {};
console.log(lib);
}
调用不带参数的foo(导致lib未定义)或上面列出的一个将打印lib作为对象(因为{}是一个真值)。
答案 3 :(得分:0)
如果lib
变量已初始化 - var lib = lib;
,如果不是,则var lib = {};
{}
- 是一个空对象。
答案 4 :(得分:0)
如果设置了lib而不是null,则为false,undefined ......然后新内容就是之前的lib。但如果不是这样,lib将成为一个空对象。