关键点:逻辑运算符并不返回bool,并且遵循立即返回原则;!! !!的作用是把一个其他类型的变量转成的bool类型;!!‘
‘返回true;逻辑运算符可以替换switch;
计算机进行逻辑运算,会有一个最佳实现的追求,会尽可能少的去处理不需要访问的数据,所以这里的逻辑运算可以归
纳以下逻辑原则
学习的文章里称之为短路原理,我归类为立即返回原则,特别对于长长的连续逻辑判断,影响返回结果
首先逻辑判断只会返回一个结果,即便是连续的逻辑语句,但是返回结果并不是bool
然后,立即返回原则,直接影响了返回结果。有些判断并未执行就有了输出结果
1.逻辑或 ||
2.逻辑与 &&
应用(优雅):
1.变量使用,给定默认值
语法:var val=value||‘‘; 这里,可以使val有个默认值。
如:var Yahoo = Yahoo || {}; var Yahoo = Yahoo || {};这种是非常广泛应用的。
2.回调函数,避免报错
语法:var fn_test=function(callback){console.log("test");callback&&callback();}
调用:fn_test&&fn_test() fn_test&&fn_test(function(){console.log("callback")})
3.逻辑运算符可以替换switch
语法:见原文
注意:
1.在js逻辑运算中,0、‘‘、null、false、undefined、NaN 0、‘‘、null、false、undefined、NaN都会判为false,其他都为true。包括‘ ‘(空
格)也是true
2.!! !!的作用是把一个其他类型的变量转成的bool类型。
参考资料:
1.超实用的JavaScript代码段:http://blog.csdn.net/i10630226/article/details/51938340