javascript 的 && 和 ||
来源:互联网 发布:微信多开软件苹果版 编辑:程序博客网 时间:2024/06/05 05:06
&& 的意思是逻辑 与 比如最简单的 true && false 返回false 会先判断第一个符号左边的表达式为false 则整个表达式返回false
如果左边的表达式为 true 则继续判断右边的表达式,如果为false 则整个表达式为 false 或者为true 则整个表达式为true
a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;
如果比较的是两个Object类型 那么返回第二个对象
如果两个比较表达式 其中有一个是null 那么返回null
如果两个表达式 其中一个是NaN 那么返回NaN
如果两个表达式 其中一个是NaN,那么返回 undefined
&& 优先级高于 ||
|| a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;
a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回a
a || b : 将a, b转换为Boolean类型, 再执行逻辑或, true返回a, false返回b
转换规则:
对象为true
非零数字为true
非空字符串为true
其他为false
技巧:设置默认值:var str=strone||'默认值'
by the way
js中的常用运算符优先级
下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。
运算符描述. [] ()字段访问、数组下标、函数调用以及表达式分组++ -- - ~ ! delete new typeof void一元运算符、返回数据类型、对象创建、未定义值* / %乘法、除法、取模+ - +加法、减法、字符串连接<< >> >>>移位< <= > >= instanceof小于、小于等于、大于、大于等于、instanceof== != === !==等于、不等于、严格相等、非严格相等&按位与^按位异或|按位或&&逻辑与||逻辑或?:条件= oP=赋值、运算赋值,多重求值 1 0
- JavaScript的 &&和||
- javascript 的 && 和 ||
- javascript的||和&&逻辑运算
- javascript的 || 和 &&
- 【javascript】javascript中闭包的理解和实例
- JavaScript和Flash的通信
- JavaScript和Java的区别
- JavaScript和Flash的通信
- JavaScript和Java的区别
- javascript和剪贴板的交互
- JavaScript和Java的区别
- JavaScript的方法和技巧
- JavaScript的方法和技巧
- JavaScript的方法和技巧
- JavaScript的方法和技巧
- JavaScript的方法和技巧
- JavaScript的方法和技巧
- JavaScript的方法和技巧
- Weblogic反序列化漏洞补丁更新解决方案
- C#之反射
- QEMU
- 一个例子理清楚遗传算法
- Android面试题大全
- javascript 的 && 和 ||
- Java知识点总结
- 自定义Drawable,点击效果出不来的问题
- 如何查看OSB默认数据库(Derby)的表数据
- 查找算法
- longest palindrome substring
- 访问WMTS的地图
- Vue开发者大群
- 关于pyqt的简介