这在javascript中是如何工作的
在上述语法中,如果temp不存在,则创建temp,否则它将引用已创建的变量。只是我很好奇这是怎么回事。我认为,若temp存在,但它正在创建一个对象,那个么表达式的右侧应该返回true。这是如何工作的。任何解释都会有帮助。这在javascript中是如何工作的,javascript,Javascript,在上述语法中,如果temp不存在,则创建temp,否则它将引用已创建的变量。只是我很好奇这是怎么回事。我认为,若temp存在,但它正在创建一个对象,那个么表达式的右侧应该返回true。这是如何工作的。任何解释都会有帮助。a | | b使用逻辑OR运算符,该运算符计算a,如果a为真,则计算结果为a。否则,将返回b 如果temp尚未声明,var-temp在temp=”“中使用时已“已”声明了它(变量声明在JavaScript中是函数范围内的)。如果已经申报,没有问题;重新声明在JavaScript中
a | | b
使用逻辑OR运算符,该运算符计算a
,如果a
为真,则计算结果为a
。否则,将返回b
如果temp
尚未声明,var-temp
在temp=”“
中使用时已“已”声明了它(变量声明在JavaScript中是函数范围内的)。如果已经申报,没有问题;重新声明在JavaScript中有效,不会影响变量的现有值
“Truthy”在这里的意思是“不是falsy”。JavaScript中错误的东西:
false
(就此而言,0
)-0
NaN
”
null
未定义
var temp=temp代码>您将看到temp
未定义
您使用的是表达式|
(OR),因此它是一个布尔表达式。由于temp
之前未声明,并且它是未定义的
,因此此端将为“false”,返回值为另一端
它的简化版本是var temp=(temp==undefined | | temp==false)?{}:温度代码>您可以使用以下方法检查javascript中是否存在该变量:
var temp = temp || {};
请参阅上的逻辑OR|
运算符。基本上,在expr1 | | expr2
中,如果expr1
是真实的,则返回它,否则返回expr2
。
if (typeof temp === 'undefined') {
// temp is undefined
//create variable temp
// your code here
}
else{
//temp exists
//your code here
}