JavaScript为不确定状态的对象定义var简写

时间:2014-01-17 10:59:46

标签: javascript

这是什么意思?

var ourObject = ourObject || {};

2 个答案:

答案 0 :(得分:2)

回答“这是什么意思?”,上面的代码相当于:

var ourObject;
if(scope.ourObject) {
    ourObject = scope.ourObject;
}
else {
    ourObject = {};
}

上面的范围是代码块的当前范围(默认情况下为window)。

这意味着如果当前作用域中不存在此对象(ourObject),则创建它并将其分配给局部变量ourObject 。它确保在当前范围内永远不会定义ourObject

答案 1 :(得分:2)

这里的背景不多,但这个习惯用法经常出现在函数中:

function name (param) {
    param = param || 'default value';
    // now you can be sure that param has a non-null value
}