js中的逻辑与(&&)和逻辑或(||)
2016-10-28 12:47
323 查看
js中的逻辑与(&&)和逻辑或(||)
发布者: 博主 在2014年9月13日 | 0Comment
之前有一个同事去面试,面试过程中碰到这样一个问题:
在js中写出如下的答案 :
var a = 2;
var b = 3;
var andflag = a && b ;
var orflag = a || b;
问andflag 和orflag 分别是什么?
起初我认为: andflag 和orflag 的值都为 true; 毕竟 && 和 || 都是求Boolean ,后来发现,我错了。
答案应该是 andflag = 3,orflag = 2;
原因是这样的:
在运算过程中,首先js 会将 && 和|| 两边的值转成Boolean 类型,然后再算值 ,&&运算如果返回true,则取后面的值,如果|| 返回true,则取前面的值 , 而其中数值转换成boolean 的规则 是:
对象、非零整数、非空字符串返回true,
其它为false ;
a && b 的运算就是 :因为 a 和 b全是非零整数,所以 a 和 b 也就是true ,而 true && true 返回 true ,则取后面的b ,同理 a 和b 全是非零整数,a 和b 全是true ,则true || true 返回 true ,取|| 前面的值 也就是2;
同样:该逻辑运算符支持短路原则:
如 var a = “” || null || 3 || 4 —-> var a = fasel || false || true || true 结果为true 则返回第一个true,即是3
var b = 4 && 5 && null && 0 ——> var b = true && true && false && false 结果是false 则返回第一个false 即是null .
相关文章推荐
- JS中的逻辑或||逻辑与&&
- 分页控件代码逻辑(JS版本&PHP版本)
- JS 逻辑判断选择器 || &&
- js 基础-&& || 逻辑与和逻辑或
- Js 逻辑运算&&和||
- js中的逻辑与(&&)和逻辑或(||)问题
- js中的逻辑与(&&)和逻辑或(||)以及==和===的区别
- js中的逻辑与(&&)操作
- JS中 逻辑或 || 逻辑与 && 的使用方法总结
- 从window.console&&console.log(123)浅谈JS的且运算逻辑(&&)
- js中的逻辑与(&&)和逻辑或(||)
- JS逻辑与&&中的小细节(逻辑或||)
- 讲讲js中的逻辑与(&&)以及逻辑或(||)
- js中的逻辑与(&&)和逻辑或(||)
- js中的逻辑与(&&)和逻辑或(||)
- JS中的逻辑与(&&)逻辑或(||)
- js中的逻辑与(&&)与逻辑或(||)
- js中的逻辑与(&&)和逻辑或(||)
- 从window.console&&console.log(123)浅谈JS的且运算逻辑(&&)
- js 逻辑运算&& ||