JS运算符之&&和||

js中有如下图所示的运算符:
JS运算符之&&和||_第1张图片

在这里我们主要讲一下&& 和||的问题 ;这是面试笔试时候可能会运到的问题,在此之前,先了解一下各个运算符的运算先后顺序,如下:
运算符顺序
1 ()
2 !、-、++、– 负号 正号
3 *、/、%
4 +、-
5 <、<=、<、>=
6 ==、!=、===、!==、
7 &&
8 ||
9?: (三元运算符)
10 =、+=、-=、*=、/=、%= (赋值运算符)

在这里要注意一下&&和||的顺序,&&是排在||前面的,这对于某些面试题来说很关键。

接下来,我们要知道一下几个问题:

  • a&&b

    结果是什么?
    如果a 为假 ,则返回 a
    如果a 为真 ,则返回 b

  • a||b

    结果是什么?
    如果 a 为假 则返回b
    如果 a 为真 则返回a

根据上面两个结论以及结合运算符顺序,我们再看一下下面几道面试题:

    var aa  =   0&&1;
    alert(aa); //0
    var bb =  1&&0;
    alert(bb); //0
    var cc =  1&&10;
    alert(cc);//10



----------
 console.log(0||1);  //1
 console.log(1||0);  //1
 console.log(1||5);  //1
 console.log(5||1);  //5


----------
var a = 1 && 2 && 3;
console.log(a); //3
var b = 0 && 1 && 2;
console.log(b); // 0
var c = 1 && 0  && 2;
console.log(c);  // 0


----------
    var a = 0|| 1 || 2;
    console.log(a); //1
    var b = 1|| 0 || 3;
    console.log(b); //1


----------
var a = 3 && 0 || 2;
console.log(a); //2;
var b = 3 || 0 && 2;
console.log(b); // 3
var c = 0 || 2 && 3;
console.log(c); //3

你可能感兴趣的:(漫谈JavaScript)