JS中&&和||用法
2015-08-20 00:00
561 查看
&&和||在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。
粗略理解如下:
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。
相关文章推荐
- javascript奇葩语法小结
- Javascript学习笔记--瀑布流
- 利用<JavascriptSerializer类> 进行Json对象的序列化和反序列化
- struct2-json
- JavaScript设计模式与开发实践——读书笔记1.高阶函数(下)
- 【JS设计模式】JavaScript特性
- 将等号作为键值的js字符串转json
- 了解Json
- js控制鼠标向下拉页面
- js 动态时间代码
- javascript 事件绑定。
- JavaScript数组
- JSP中,EL表达式向session中取出一个attribute和JSP脚本访问session取出一个attribute,写法有何不同?(转自百度知道)
- 你可能不知道的10个JavaScript小技巧
- javascript调试(aptana studio 3.2.2 + firefox 12.0 + firebug 1.8.3 + aptana Debugger 1.7.2)
- JS: 获取当前页面URL
- C# Json 序列化与反序列化二
- C# Json 序列化与反序列化二
- 什么是JS事件冒泡?
- Newtonsoft.Json code