这个 JavaScript 语法是什么? 父级[当前部分] = 父级[当前部分] || {};
特别是这部分|| {}
取自此 JavaScript 代码(位于 http://elegantcode.com/2011/01/26/basic-javascript-part-8-namespaces/ )
// Creates a namespace
function namespace(namespaceString) {
var parts = namespaceString.split('.'),
parent = window,
currentPart = '';
var length = parts.length;
for (var i = 0; i < length; i++) {
currentPart = parts[i];
parent[currentPart] = parent[currentPart] || {};
parent = parent[currentPart];
}
return parent;
}
最佳答案
JavaScript 中的 ||
运算符的工作方式与许多其他语言略有不同。在 JavaScript 中,它计算出第一个“真实”值,允许“失败”行为。
示例:
var a = false;
var b = "asdf";
alert(a || b); //alert box with "asdf" since a was false
var c = true;
var d = "asdf";
var e = false;
alert(c || d || d); //alert box with true. d and e were never evaluated, so "asdf" isn't returned. This is called "short-circuiting" operation.
&&
运算符的工作原理类似,如果一切都为 true,它会计算第一个“falsey”值或最后一个“truthy”值:
var a = true;
var b = "asdf";
alert(a && b); //alert box with "asdf"
alert(b && a): //alert box with true
var c = 6;
var d = 0;
alert(c && d); //alert box with 0
alert(d && c); //alert box with 0
关于javascript - 为什么|| {} 在父[当前部分] = 父[当前部分] || {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20979460/