资讯专栏INFORMATION COLUMN

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

Alliot / 2824人阅读

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

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

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
  • 元素选择器功能用实现Javascript

      本篇内容主要就是元素选择器功能用Javascript实现。  首先说下什么是元素选择器?  想必大家对于jquery很了解,知道它有对元素的查找功能,解释来说就是通过jquery的api获取页面元素的过程,该过程只需提供一个元素选择的条件字符串即可获取相应的满足条件的页面元素。元素选择器即是指通过条件字符串获取相应元素的一个工具函数。  元素选择器分为id选择器、class选择器、标签选择器以...

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

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

    wangxinarhat 评论0 收藏0

发表评论

0条评论

Alliot

|高级讲师

TA的文章

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