一直以为 && 和 ||  这两个伟大的运算法只能在判断表达式使用,也就是常在if语句使用,原来错了,它还可以运用在简化选择性执行语句的操作,有点拗口,简单点也就是:操作执行某条语句,不执行某条语句。

&&和||在JQuery源代码内尤为使用广泛,由于本人没有系统的学习js,所以只能粗略的自我理解出来,希望大家指点下。

粗略理解如下:

 

a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;

a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;

&& 优先级高于 ||

 

如下:

  

代码
alert((1 && 3 || 0&& 4);        //结果4  ①
alert(1 && 3 || 0 && 4);        //结果3  ②
alert(0 && 3 || 1 && 4);        //结果4   ③

 

分析:

语句①:1&&3 返回3  =>  3 || 0  返回 3  =>  3&&4 返回 4

语句②:先执行1&&3 返回3,在执行0&&4返回0,最后执行结果比较 3||0 返回 3

语句③:先执行0&&3 返回0,在执行1&&4返回4,最后执行结果比较 0||4 返回 4

 

 注:非0的整数都为true,undefined、null和空字符串"" 为false。

posted on 2009-11-27 23:52  wbkt2t  阅读(329)  评论(4编辑  收藏  举报