与、或运算符与短路原则
1.&&与运算符:
与运算符字面理解为两者都,其实际上是找假值。
demo1
``
 var a=2;
 var b=3;
m=a && b;
console.log(m);    //3
``
记住一句话:&&运算,如果结果是true,则取最后一个值,如果结果是false,则取第一个值。
原理:&&找假值,当找到第一个假值时,会获取该值,后面的不再执行,也就是后面的值被短路。
如果都是真值时,取最后一个值。比如
demo2
``
  var f = 2 && 3 && 0 && "5";
  alert(f);   //0
  var f = 2 && 3 && 6 && "5";
  alert(f);   //5
 ``  
2.||或运算:找真值
demo2
``
var a=2; 
var b=3;
n=a || b;
console.log(n);    //2
``
||或运算,如果结果是true,取第一个值,结果为false,取最后一个值。
原理:||运算符找真值,当找到第一个真值时,会获取该值,后面的不会获取。也就是后面的值被短路。
如果都是假值时,获取最后一个值。
demo2
``
var t=null || 3 || 0 || "2"
  alert(t)    //3
  
var t=0 || null || undefined || false
alert(t)    //false
``
##短路原则,在逻辑运算符中,前面的值被返回后,后面的值则不再执行,这就是后面的值被前面的值短路。
  
  
知名电商网站js代码:
``
      requirejs(['main','index'], function (main,index) {
        if(index&&index.init){
        	index.init();
        }
 ``       
main是JS文件,index是main.js里返回的参数,由于&&是找假值,这里就是判断,当index不存在时,就让index初始化,当index没有初始化时,也让index初始化。
  
  
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号