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

JavaScript016

js中的if条件竟然可以这样写???,第1张

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

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

首先,变量=true这个是会出错的,因为变量被赋值为true了,正确写法变量==true。或者养成习惯,true==变量,将变量写在后面,就不容易出现赋值的错误了。

if(判断表达式){

执行内容

}

如果判断表达式为true,则执行括号中的内容。

这里,变量如果不为0,null,undefined,false,都会被处理为true。只要变量有非0的值或是某个对象,数组,字符串,都会认为true

变量==true,变量为bool值,并且为true,才认为符合。