你好,JS中的&&表示逻辑与。例如:
var a = true && false; //&&是逻辑与,所以a的值是false与和或的例子都给出了,如果你不知道与、或、非的逻辑运算规则,建议参考高中数学的逻辑数学那部分,好像是高三学的。
在你的代码中,就是把wm的值和wm.evalJS("preateClear()")的值做逻辑与运算,返回true或false。
请问明白了吗?如还有疑惑,欢迎追问。
我举的那个例子里面没有等号,只有一个逻辑与,这一行表达什么结果呢
追答如果没有等号,就表示没有把返回的值赋给其他变量而已,其运算结果是不变的。
如果你的意思是要问这行代码在实际中的作用,和运算结果,那我真无法回答你,它既然是代码,那么运算结果就是根据具体运行的环境来判断的,仅仅这一行代码没有实际意义,无法推测运算结果。
我是想问一行代码就是true或者false有什么意义
比如a=1+1;
我们知道是给a赋值为2
而一行代码直接就是1+1,有什么意义呢
直接 1+1 这样的代码是无意义的。在《Javascript权威指南》中称作“没有副作用的语句”。
在你的提问中也是一样,如果a&&b的结果不用来赋值也不用在条件语句,那它仅返回的true和false是没有“副作用”的,也就是没有意义。
我最近读的代码里经常出现类似的案例
如果都认为无意义我觉得作者没必要这么写
比如:
让人很费解啊
原来完整的代码是这样。那我知道了,原理是这样的:
1、在逻辑与(&&)运算中,只要有一个值是false,那这个运算的结果就必然是false
2、而根据javascript的规则,只要第一个变量(左操作数)的值是false,那么就会直接终止这个运算,返回false。也就是说右边的表达式就不会生效了。
3、在你的代码中就是:如果waiting的值是假(包括null和undefined),就不会执行右边的表达式。