Javascript 为什么父[currentPart]=父[currentPart]|{}

Javascript 为什么父[currentPart]=父[currentPart]|{},javascript,Javascript,这是什么javascript语法? 父级[currentPart]=父级[currentPart]|{} 尤其是这部分| |{} 它取自此javascript代码(at) //创建名称空间 函数名称空间(名称空间字符串){ var parts=namespaceString.split('.'), 父项=窗口, 当前部分=“”; 变量长度=零件长度; 对于(变量i=0;i

这是什么javascript语法? 父级[currentPart]=父级[currentPart]|{}

尤其是这部分| |{}

它取自此javascript代码(at)

//创建名称空间
函数名称空间(名称空间字符串){
var parts=namespaceString.split('.'),
父项=窗口,
当前部分=“”;
变量长度=零件长度;
对于(变量i=0;i
这是:

expr1 | | expr2
如果可以转换为
true
,则返回
expr1
;否则,返回
expr2

如果父级[currentPart]
不存在,则表达式的计算结果为空对象(
{}
),因此将父级[currentPart]初始化为该空对象。如果它确实存在,则保持不变(即,它被分配给自身)。其作用是保证父级[currentPart]始终具有一个(非)值。

是:

expr1 | | expr2
如果可以转换为
true
,则返回
expr1
;否则,返回
expr2

如果父级[currentPart]不存在,则表达式的计算结果为空对象(
{}
),因此将父级[currentPart]初始化为该空对象。如果它确实存在,则保持不变(即,它被分配给自身)。其作用是保证父级[currentPart]始终具有一个(非)值。

是:

expr1 | | expr2
如果可以转换为
true
,则返回
expr1
;否则,返回
expr2

如果父级[currentPart]不存在,则表达式的计算结果为空对象(
{}
),因此将父级[currentPart]初始化为该空对象。如果它确实存在,则保持不变(即,它被分配给自身)。其作用是保证父级[currentPart]始终具有一个(非)值。

是:

expr1 | | expr2
如果可以转换为
true
,则返回
expr1
;否则,返回
expr2

如果父级[currentPart]不存在,则表达式的计算结果为空对象(
{}
),因此将父级[currentPart]初始化为该空对象。如果它确实存在,则保持不变(即,它被分配给自身)。其效果是保证
父级[currentPart]
始终有一个(非)值。

在JS中,逻辑运算符(例如
&&&
|
)返回一个值,当该值是表达式的一部分时,可以在赋值中使用

因此,在以下代码中:

var a = false
  , b = 'hello'
  , c = (function() { return a || b })()
c
被分配字符串
'hello'
,因为
|
'hello'
返回到
返回
语句,该语句反过来从函数返回它,并在JS中分配到
c
,逻辑运算符(例如
&&
)返回一个值,该值,作为表达式的一部分时,可以在赋值中使用

因此,在以下代码中:

var a = false
  , b = 'hello'
  , c = (function() { return a || b })()
c
被分配字符串
'hello'
,因为
|
'hello'
返回到
返回
语句,该语句反过来从函数返回它,并在JS中分配到
c
,逻辑运算符(例如
&&
)返回一个值,该值,作为表达式的一部分时,可以在赋值中使用

因此,在以下代码中:

var a = false
  , b = 'hello'
  , c = (function() { return a || b })()
c
被分配字符串
'hello'
,因为
|
'hello'
返回到
返回
语句,该语句反过来从函数返回它,并在JS中分配到
c
,逻辑运算符(例如
&&
)返回一个值,该值,作为表达式的一部分时,可以在赋值中使用

因此,在以下代码中:

var a = false
  , b = 'hello'
  , c = (function() { return a || b })()

c
被分配字符串
'hello'
,因为
|
'hello'
返回到
return
语句,该语句反过来从函数返回它,并在表达式
a=b | | c
中分配给
c

,如果
b
的计算结果为
true
,则
a
将设置为
b
;否则,
a
将设置为
c
。这是经常使用的,因为
null
undefined
都计算为
false
,所以它比说
if(b==null){a=c}或者{a=b}

a=b | | c
要短,如果
b
计算为
true
,则
a
将设置为
b
;否则,
a
将设置为
c
。这是经常使用的,因为
null
undefined
都计算为
false
,所以它比说
if(b==null){a=c}或者{a=b}

a=b | | c
要短,如果
b
计算为
true
,则
a
将设置为
b
;否则,
a
将设置为
c
。这是经常使用的,因为
null
undefined
都计算为
false
,所以它比说
if(b==null){a=c}或者{a=b}

a=b | | c
要短,如果
b
计算为
true
,则
a
将设置为
b
;否则,
a
将设置为
c
。这通常是因为
null