例如: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的值,与前面的都没有关系,只是正常的执行罢了,不会影响结果
比如: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)
与&&无任何关系
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)
与&&无任何关系