Javascript if语句的语法和运算符优先级
if语句的parens究竟是什么 如果我有:Javascript if语句的语法和运算符优先级,javascript,if-statement,syntax,conditional,Javascript,If Statement,Syntax,Conditional,if语句的parens究竟是什么 如果我有: if(setX(), x === 5) 这是否被解释为: if((setX(), x) === 5) // which is the same as: setX(); if(x === 5) if((setX()), (x === 5)) 还是会被解读为: if((setX(), x) === 5) // which is the same as: setX(); if(x === 5) if((setX()), (x === 5)) (这
if(setX(), x === 5)
这是否被解释为:
if((setX(), x) === 5) // which is the same as:
setX(); if(x === 5)
if((setX()), (x === 5))
还是会被解读为:
if((setX(), x) === 5) // which is the same as:
setX(); if(x === 5)
if((setX()), (x === 5))
(这基本上是一样的,但我仍然对语法感到好奇。)逗号有
- 将首先计算setX()
将在第二时间进行计算x==5
语句检查if
x==5
- 将首先计算setX()
将在第二时间进行计算x==5
语句检查if
x==5
- 将首先计算setX()
将在第二时间进行计算x==5
语句检查if
x==5
- 将首先计算setX()
将在第二时间进行计算x==5
语句检查if
x==5
然而,这是否是一种好的编程风格还有待讨论……:-) 逗号运算符计算其两个操作数并返回右操作数的值。因此,if语句将是在setX()函数之后执行的x==5测试的结果
然而,这是否是一种好的编程风格还有待讨论……:-) 逗号运算符计算其两个操作数并返回右操作数的值。因此,if语句将是在setX()函数之后执行的x==5测试的结果
然而,这是否是一种好的编程风格还有待讨论……:-) 逗号运算符计算其两个操作数并返回右操作数的值。因此,if语句将是在setX()函数之后执行的x==5测试的结果
然而,这是否是一种好的编程风格还有待讨论……:-) 在这些括号内发生了3件事,顺序如下:
// setup
function setX(){
return 3;
}
x = 4;
// steps
if (setX(),x === 5)
// evaluate function call
if (3,4 === 5)
// evaluate equality comparison
if (3,false)
// evaluate comma operator
if (false)
// jump to the appropriate code branch
参考资料:这些括号内发生了3件事,顺序如下:
// setup
function setX(){
return 3;
}
x = 4;
// steps
if (setX(),x === 5)
// evaluate function call
if (3,4 === 5)
// evaluate equality comparison
if (3,false)
// evaluate comma operator
if (false)
// jump to the appropriate code branch
参考资料:这些括号内发生了3件事,顺序如下:
// setup
function setX(){
return 3;
}
x = 4;
// steps
if (setX(),x === 5)
// evaluate function call
if (3,4 === 5)
// evaluate equality comparison
if (3,false)
// evaluate comma operator
if (false)
// jump to the appropriate code branch
参考资料:这些括号内发生了3件事,顺序如下:
// setup
function setX(){
return 3;
}
x = 4;
// steps
if (setX(),x === 5)
// evaluate function call
if (3,4 === 5)
// evaluate equality comparison
if (3,false)
// evaluate comma operator
if (false)
// jump to the appropriate code branch
参考:为什么要在条件中加逗号?或者它只是一个代码示例?为什么要在条件中加逗号?或者它只是一个代码示例?为什么要在条件中加逗号?或者它只是一个代码示例?为什么要在条件中加逗号?或者它只是一个代码示例?