这个问题在这里已经有了答案:




9年前关闭。






我在 js 中有这几行,我确定这很简单,但我不确定最后一部分是做什么的 - (xin || {})

var xin = (function (name) {return name;}(xin || {}));

据我了解,xin 是一个对象构造函数,所以现在我可以创建 xin 的对象。只是不太确定 xin || {} 的作用。有没有大神可以指教一下,谢谢

最佳答案

xin || {}

是相同的:
xin ? xin : {};

或者,以更长的形式:
if(xin) {
    return xin;
}
else {
    return {};
}

编辑: See linked duplicate question 。 jAndy 说得很好:
|| 是逻辑 OR

表达方式
var x = x OR {};

应该会变得更加明显。

如果 x 有一个 falsy 值(如 nullundefined0"" ),我们分配 x 一个空对象 {} ,否则只保留当前值。这个的长版本看起来像
var x = x ? x : {};

关于javascript - 这在 js "xin || {}"中有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8214702/

10-11 14:47