JS中的与或非

  在js中经常用到的判断条件 与(&&)  或(||)  非(!)

  与运算

  一个为假就为假,全真则为真,遇假则停

var a=1&&2&&3;
       document.write(a);

  这种情况  输出a的结果是3。

  当执行&&运算时 ,如果前面的都为true,就会继续向后执行,直到出现为false的结果或者到最后一个,比如:

var a=1&&0&&3;
       document.write(a);

  当前a的值为0

  也就是说,如果条件中出现为false的情况,就不会继续向后执行,并返回当前值

  在这里说一下返回值为false的6个值:undefined,NaN,“”(空字符串),null,0,false

  短路语句

  用&&的特性来实现,举例:

条件 && document.write(a);

  如果&&前面的值为false,那么后面的就不会在执行,相当于短路,可以用在数据值的检测,&&前面填写数据或变量,后面是用到该值或变量的语句,如果为false,后面的语句就不会执行

  

  或运算

  一个为真就为真,全假则为假,遇真则停

var a=1||0||3;
       document.write(a);

  当前输出结果为1,相比与运算,这里刚好相反

  如果第一个值为true,就返回当前值,并且不再执行后面的语句

  如果是这样:

 var a=''||0||2;
       document.write(a);

  当前条件返回的a的值是2

  也就是说,只要条件为false,就会向后执行,直到条件为true,停止向后执行,并返回当前值,如果最后一个值也是false,就会返回最后一个值

  ||可以在代码编写过程中,用于实现不同浏览器兼容性的语句

  非

  也就是否的意思,举个例子

var a=!'';
       document.write(a);

  当前返回值为true

  var a=!123;
       document.write(a);

  当前返回值为false

  上面的两种情况,是对!后面的值转换为布尔值之后在取反,返回的值,返回类型就是布尔型

╰︶﹉⋛⋋⊱⋋๑๑⋌⊰⋌⋚﹉︶╯
原文地址:https://www.cnblogs.com/zhangcheng001/p/11110833.html