这个Javascript代码是什么意思?

时间:2011-02-28 00:51:45

标签: javascript

  

可能重复:
  What does “options = options || {}” mean in Javascript?

关注YouTube来源......

var yt = yt || {};

这是否意味着..如果yt存在,请将yt设置为yt,否则创建一个新对象?

如果是这种情况,我认为在声明变量时你不会提出条件。

4 个答案:

答案 0 :(得分:4)

yt的值分配回yt,除非它是0NaNfalsenull,{{ 1}}或""(即 falsy ),在这种情况下将undefined分配给{}

这是有效的,因为上面列表中的每个值都在布尔表达式中求值为yt

答案 1 :(得分:3)

这恰恰意味着:如果内容未评估为false,则将其分配给自身(这是一个中性操作),否则创建一个新对象并将其分配给yt。它通常用于实例化用作命名空间的对象,首先检查命名空间是否已存在。

答案 2 :(得分:1)

评估yt,如果它评估为false,则将其实例化为对象。

我第一次看到这样的事情是:

function handleEvent(e){
    e=e||window.event;
}

非常漂亮〜任何人都知道支持这种语法的其他语言? (不是PHP =(

答案 3 :(得分:0)

是的,在分配之前首先评估表达式的整个右侧。因此,如果yt==false,RHS上的表达式值将为{}并传递给var yt