var variableName = variableName ||的含义是什么? {};

时间:2014-12-07 10:53:52

标签: javascript

我是来自C ++背景的javascript新手。我总是看到像

这样的代码
var variableName = variableName || {};

对我来说似乎很奇怪。有人可以解释一下代码的含义吗?非常感谢。

2 个答案:

答案 0 :(得分:3)

这意味着如果该变量未设置,则使其成为新的空对象,如果已设置,则使用该变量的值。它等于代码:

var variableName;
if(!variableName){
    variableName = {};
}

var a = a || {}; // {}
var b = {"key":"value"};
var b = b || {}; // {"key":"value"}

通常,它用于创建命名空间来组织代码。例如,

var myNameSpace = myNameSpace || {};
myNameSpace.print= function(msg) {
    console.log("message is: "+msg);
}
myNameSpace.bar = function(){
    //do some thing
}

答案 1 :(得分:2)

这意味着,如果设置了variableName,则variableName应该保留该值。否则,如果没有设置,它应该成为一个对象(在这种情况下是空的)。