可能重复:
What does “options = options || {}” mean in Javascript?
关注YouTube来源......
var yt = yt || {};
这是否意味着..如果yt
存在,请将yt
设置为yt
,否则创建一个新对象?
如果是这种情况,我认为在声明变量时你不会提出条件。
答案 0 :(得分:4)
将yt
的值分配回yt
,除非它是0
,NaN
,false
,null
,{{ 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