深入理解JS中和||
写了这么多JS,才发现JS的语法既是属于C语系的,又与一般C语系的编程语言某些地方有很大区别,其中&&和||就是其中一例。
C语系中的&&和||
C语系的&&和||有一个特点,无论你把表达式写的天花乱坠,都会返回一个布尔值。
1,&&
两边条件都为true时,结果才为true;
如果有一个为false,结果就为false;
当第一个条件为false时,就不再判断后面的条件;
注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值;如果结果为false,返回的会是第一个为假的值。
2,||
只要有一个条件为true时,结果就为true;
当两个条件都为false时,结果才为false;
当一个条件为true时,后面的条件不再判断;
注意:当数值参与逻辑或运算时,结果为true,会返回第一个为真的值;如果结果为false,会返回第二个为假的值;
JS中的&&和||
1,JS中的&&和||,当出现在条件判断语句中时,例如if,会遵守C语系规则。
2,JS中的&&和||,当初现在赋值语句中时,例如变量赋值、return结果等,会遵循以下规则:
表达式a && 表达式b : 计算表达式a(也可以是函数)的运算结果,
如果为 True, 执行表达式b(或函数),并返回b的结果;
如果为 False,返回a的结果;
表达式a || 表达式b : 计算表达式a(也可以是函数)的运算结果,
如果为 Fasle, 执行表达式b(或函数),并返回b的结果;
如果为 True,返回a的结果;
例1:
1 let b, c, d; 2 b = true || 0;//b=true; 3 c = false || 0;//c=0; 4 d = 1 || 0;//d=1;
例2:
1 //将数组中布尔值为false的成员转为0 2 Array.from([1, , 2, , 3], (n) => n || 0) 3 // [1, 0, 2, 0, 3]
转载于:https://www.cnblogs.com/guanghe/p/11157201.html
深入理解JS中和||相关推荐
- 彻底理解js中this
相关博文:http://blog.csdn.net/libin_1/article/details/49996815 彻底理解js中this的指向,不必硬背. 首先必须要说的是,this的指向在函数定 ...
- 深入理解js的执行机制
写在前面 javascript在浏览器中被浏览器的js引擎执行解释,从执行上下文的角度分析一下js的执行机制 执行上下文 执行上下文被定义成javascript引擎在处理理解js代码时,所创建的一个动 ...
- 【学习笔记】深入理解js原型和闭包(5)——instanceof
又介绍一个老朋友--instanceof. 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/ ...
- 简单理解js闭包、类型引用....第一章
js 闭包函数.类型引用.this指向.对象原型链...这些东西让我们对js又爱又恨!js虐我千百遍,我待js如初恋. 很多初学者一开始会觉得这些概念没什么用,导致对这些东西产生一种抵抗力.接下来我们 ...
- 理解js中this的指向
彻底理解js中this的指向 JavaScript 的 this 指向问题深度解析 转载于:https://www.cnblogs.com/jeacy/p/6509616.html
- 简单粗暴地理解js原型链–js面向对象编程
简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...
- 深入理解js系列一作用域是什么
title: 深入理解js系列一作用域是什么? date: 2018-02-06 02:15:59 tags: 深入理解js系列 作用域 categories: JavaScript 作用域是什么? ...
- 【学习笔记】深入理解js原型和闭包(11)——执行上下文栈
继续上文的内容. 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境.当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境.处于活动状态的执行 ...
- 理解JS的6种继承方式
[转]重新理解JS的6种继承方式 写在前面 一直不喜欢JS的OOP,在学习阶段好像也用不到,总觉得JS的OOP不伦不类的,可能是因为先接触了Java,所以对JS的OO部分有些抵触. 偏见归偏见,既然面 ...
- 深入理解Js中的this
深入理解Js中的this JavaScript作用域为静态作用域static scope,但是在Js中的this却是一个例外,this的指向问题就类似于动态作用域,其并不关心函数和作用域是如何声明以及 ...
最新文章
- 为什么我的DevOps落地过程跟别人不一样?
- 近期活动盘点:俞士纶见面会、2018未来医疗100强论坛、清华校友三创论坛、2018年中国数字政府论坛(12.18-12.21)...
- Java JPanel的使用
- 高盛想要做华尔街的谷歌
- Java面向对象(11)--多态性
- 一加到1亿。C语言_可能是今年最难选的2部手机:小米10详细对比一加8T
- centos php 版本升级 至5.3 wordpress3.7
- 蓝桥杯2017年第八届C/C++省赛B组第三题-承压计算
- 傅里叶变换对_复变函数6傅里叶变换
- 沉云架路,边缘先锋—中国联通5G边缘先锋团队2020年交付纪实
- PopWindow的使用
- Dijkstra算法原理
- Endless Dice 游戏解析
- python数据处理与分析(汇总)
- windows 挂载百度网盘/阿里云盘等(网盘变本地硬盘) alist + raidrive
- hdmi接口有什么用_路由器USB接口有什么用 路由器USB接口作用介绍【详解】
- sql语句关联关系的+号
- 迅睿cms,迅睿cms程序系统,迅睿cms网站优化
- 卸载计算机更新程序包,Win7清除Win10更新安装包的方法
- 编程题解析-发型糟糕的一天
热门文章
- kettle查询mysql获取uuid_java中调用kettle转换文件
- 常用shell命令(未完待续)
- 设计模式之——动态代理模式
- eclipse调试linux内核,Ubuntu下使用Eclipse+CDT+UML调试linux内核
- SuperPoint学习(一)
- 各种排序算法稳定性的探讨
- MySQL 是如何解决幻读的
- C++ 中的深拷贝与浅拷贝
- @spoj - lcs2@ Longest Common Substring II
- 04号团队-团队任务3:每日立会(2018-11-28)