美文网首页
js 利用||和&&赋值小技巧

js 利用||和&&赋值小技巧

作者: up2159 | 来源:发表于2018-09-04 16:28 被阅读0次

[转载]https://blog.csdn.net/nayi_224/article/details/80437329
对于需要返回boolean类型数值的地方,比如if判断,逻辑运算符,js对象会默认转换为boolean类型数据。null,undefined,0,”“返回false,其他返回true。

同时,对于||与&&又有这样的特性:

var a = b || c;

b的默认值 c的默认值 a的取值
true true b
true false b
false true c
false false c

var a = b && c;

b的默认值 c的默认值 a的取值
true true c
true false c
false true b
false false b

根据这两个特性,可以利用||与&&进行赋值。在某些情况下,可以简化代码,甚至是增加可读性。

下面给出的几组代码内的b与c的赋值是等效的。

var b;
if(b != null){
     b = b;
}else {
     b = 2;
}
var c = c || 2; 
var b;
if(b){
    b = 1;
}else {
    b = 2;
}
var c = (c && 1) || 2;
var b;
if(b){
  if(1 == 1){
      b = 1;
  }else {
     b = 2;
  }
}else {
  b = 3;
}
var c = (c && ((1 == 1 && 1) || 2)) || 3;
    var b;

    if(2 > 1){
        b = 1;
    }else if(3 > 1){
        b = 2;
    }else {
        b = 3;
    }

    var c = ((2 > 1) && 1) || ((3 > 1) && 2) || 3;
    var b;

    if(2 > 1){
        b = 1;
    }else if((1 == 1 || 1 == 2) && 3 == 3){
        b = 2;
    }else {
        b = 3;
    }

    var c = ((2 > 1) && 1) || (((1 == 1 || 1 == 2) && 3 == 3) && 2) || 3;

相关文章

网友评论

      本文标题:js 利用||和&&赋值小技巧

      本文链接:https://www.haomeiwen.com/subject/cgngwftx.html