资讯专栏INFORMATION COLUMN

JavaScript的“&&”和“||”操作符总结

Alliot / 3007人阅读

摘要:和操作符两边不是布尔类型时,系统会转换成布尔类型值再计算空字符串都会被转成,结果本身不变。上述表达式的结果为你都答对了吗操作符总结只要一个就取的值,都是取后面,都是取前面。这个两个操作符需要注意的是,只有一边是和的情况,和都是或的情况。

&&和||操作符链接的两个值最后取哪个值的问题,有点模糊和不好理解,比如下面的表达式输出什么?如果你能答对说明你对这个问题就掌握了没什么问题。

var val1 = 123 && 234; 
var val2 = 0 && 1; 
var val3 = 1 && 0; 
var val4 = 1 && ""; 
var val5 = "" && 1; 
var val6 = "" && 0; 
var val7 = 0 && "";

&&和||操作符两边不是布尔类型时,系统会转换成布尔类型值再计算(空字符串、null、0都会被转成false),结果本身不变。上述表达式的结果为:

var val1 = 123 && 234;    //234
var val2 = 0 && 1;    //0
var val3 = 1 && 0;    //0
var val4 = 1 && "";    //""
var val5 = "" && 1;    //""
var val6 = "" && 0;    //""
var val7 = 0 && "";    //0

你都答对了吗?

&&操作符总结:只要一个false就取false的值,都是true取后面,都是false取前面。

助记:一F即F取F,都F取前。

||操作符跟&&操作符相反,那么如下表示式 的结果是什么?

var val1 = 1 || 2;    //1
var val2 = 0 || 1;    //1
var val3 = 1 || 0;    //1
var val4 = 1 || "";    //1
var val5 = 0 || "";    //""
var val6 = "" || 0;    //0
var val7 = 0 || "";    //""

||操作符总结:只要一个是true就取true的值,都是true取前面,都是false取后面。

这个两个操作符需要注意的是,只有一边是false和true的情况,和都是false或true的情况。

这个连个操作符在DOM编程中经常使用,比如:

var obj  =  document.body.scrollTop  ||  document.documentElement.scrollTop;

只需要记住其中一个操作符的特点即可。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79652.html

相关文章

  • 解析JavaScript判断两个值相等方法

      本篇文章主要是讲述在JavaScript中判断两个值相等,不要认为很简单,要注意的是在JavaScript中存在4种不同的相等逻辑。  ECMAScript 是 JavaScript 的语言规范,在ECMAScript 规范中存在四种相等算法,如下图所示:  上图中每个依次写下来,很多前端应该熟悉严格相等和非严格相等,但对于同值零和同值却不熟悉,现在就依次下面四种方法。  同值  同值零  非...

    3403771864 评论0 收藏0
  • 展示JavaScript中异步与回调基本概念及回调地狱

      JavaScript异步与回调  一、前言  首先我们要记住的是异步和并行有着本质的区别。  并行,简单来说是一般指并行计算,就是说同一时刻有多条指令同时被执行,这些指令可能执行于同一CPU的多核上,或者多个CPU上,或者多个物理主机甚至多个网络中。  同步,一般指按照预定的顺序依次执行任务,只有当上一个任务完成后,才开始执行下一个任务。  异步,与同步相对应,异步指的是让CPU暂时搁置当前任...

    3403771864 评论0 收藏0
  • JavaScript:(a==1 && a==2 && a==3)能

    摘要:我们举个例子我们可以对上述对象使用方法,他会返回一个对象。在我们的问题中会企图将对象转化成数字的类型,进行比较。幸运的是,在中有符号。当我们每次调用的时候,他会将变量增加返回给我们。 如果你能确切的答出可以,那恭喜你,你可以绕道了 前言 有人会说,这个问题好奇葩,放在别的语言里,这要是能输出true,估计是见鬼了,但是你别说,放在js中好真有可能。最近在一个人的推特上提了一个问题: ...

    light 评论0 收藏0
  • 无线页面加速解决方案-AMP

    摘要:特点是与年月推出的一个开源的,移动端页面加速解决方案。仅运行加速动画移动端动画优化主要方案。缓存缓存页面,加速文档请求相应。参考资料中文文档如何提升性能,来自的移动页面优化方案关于谷歌的,你需要知道这些浏览器渲染页面过程与页面优化 showImg(https://segmentfault.com/img/bVbfUVe?w=394&h=219); AMP在国内应该很少有人接触得到,今天...

    wangxinarhat 评论0 收藏0

发表评论

0条评论

Alliot

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<