js中的if条件竟然可以这样写???

例如:if(1,1,1){alert("123")}:

经过测试,发现这种形式中的逗号好像和&&运算符一样;但是不能确定;请大神看看,这种形式和使用&&运算符有什么区别???? 这种形式叫什么名字啊?

这是逗号运算符,之前所有的运算表达式都会执行,但整个语句的值是最后一个表达式的值

比如:a = (b=2, c=3, 4==4);
括号里的是逗号运算表达式,b=2, c=3这样的赋值表达式会正常执行,
但a最后的值是true,也就是4==4的结果,true;如果换成4==5,a就是false了

而 && 表达式是只要其中一个为假,那么整个表达式就是假
逗号表达式(s=a, b, c, ...., n)s的值就是n的值,与前面的都没有关系,只是正常的执行罢了,不会影响结果
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-24
if的条件是任意合法表达式
js中逗号表达式的值为最右面的那个值
if(1,1,1)等价于if(1)
if(1,2,3,4,5)等价于if(5)
if(false,true)等价于if(true)
if(true,false)等价于if(false)
与&&无任何关系

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网