经常看到有些代码是这样写的
[code="java"]
var test = a || {};
[/code]
比较困惑的是,这样写 如果 对象 a 不存在,依旧会抛出对象不存在的错误,后续代码不会执行。和直接赋值的效果是一样的。
[code="java"]
var test = a;
[/code]
我又试了试 将右边的空对象变成 自定义对象 b,但当 a 不存在时,依然不会用 b 为变量赋值。而是和上边一样抛出错误。
[code="java"]
function b(){}
var test2 = a || b;
if(test2)
{
alert("exist");
}
alert("run...");
[/code]
既然这样那为嘛还要用“||”?感觉我哪里是不是搞错了?