js中短路运算符 ||
见过好多插件都这么用,感觉高大上。。。
|| 与 &&
说到底也没啥,稍微懂点程序的,或者是搞过相关硬件编程的都会用到这玩意,就算是数学,中学你可能都用到过。
是不是不信?
&& 和 || 运算符使用短路逻辑(short-circuit logic),是否会执行第二个语句(操作数)取决于第一个操作数的结果。在需要访问某个对象的属性时,使用这个特性可以事先检测该对象是否为空:
var name = o && o.getName();
或运算可以用来设置默认值:var name = otherName || “default”;
类似地,JavaScript 也有一个用于条件表达式的三元操作符:var allowed = (age > 18) ? “yes” : “no”;
对于&&,在 (表达式1)&&(表达式2),只有在表达式1
与表达式2
都成立时才为true,那么就有:表达式1为false时表达式,就不用看了肯定有:(表达式1)&&(表达式2)=false;
对于||,在 value= (表达式1)||(表达式2),只有在
表达式1
与 表达式2
都成立时才为true,那么就有:表达式1为false时表达式,value=表达式2的布尔值,
表达式1为true时表达式,value=true,根本就不用看表达式2了
so—-短路大名 诞生
&&:
表达式1 | 表达式2 | 结果(value) |
---|---|---|
false | * | false |
true | false | false |
true | true | true |
||:
表达式1 | 表达式2 | 结果(value) |
---|---|---|
true | * | true |
false | false | false |
false | true | true |
用到js里就变成拿值(对象)了,常见如下:
var name = otherName || “default”;
在 JavaScript 中, true && expression 总是会评估为 expression ,而 false &&
expression 总是执行为 false 。因此,如果条件为 true ,则 && 后面的元素将显示在输出中。 如果是 false,React 将会忽略并跳过它。 ——-见React官网
js中短路运算符 ||相关推荐
- java与与短路与_Java中短路运算符与逻辑运算符示例详解
1.逻辑运算符(部分) 符号 名称 && 短路与运算符 || 短路或运算符 & 与运算符 | 或运算符 对于理工科学习者来说,逻辑运算是较为基础的概念,通常会在大一的离散数学课 ...
- JS中的运算符和数组
Js中的运算符概述 1.Javascript中的运算操作符和C++中的一样,在这里不再进行详细介绍. 2.字符串操作符 只有一个字符串操作符: + .它用来将字符串按照他们的顺序连接起来. 1)字符串 ...
- JS中相等运算符 == 隐式转换
原代码片段: var a = [] console.log(a == 0)//true console.log(!a == 0)//true复制代码 a == 0 相当于执行了 Number(a. ...
- Js中的?.运算符和??运算符
?.(链判断运算符)和??(Null判断运算符)都是Es6新增的特性. ?.运算符 使用?.链式调用时,左侧的对象如果为null 或者 undefined ,表达式就不会再往下计算,而是返回 unde ...
- js中viod运算符总结
目录 写在前面 常用语法 官方定义 常见用法 简单介绍 写在前面 简单来说,void运算符用于对给定的表达式进行求值,然后返回 undefined.该运算符通常用于避免输出不应该输出的值. 常用语法 ...
- js中三元运算符的两种情况
一.一般情况 <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a=&q ...
- js中的运算符操作顺序
如果我们要改变运算顺序,需添加括号的方法来改变优先级: var numa=3; var numb=6 jq= ((numa + 30) / (2 - numb)) * 3; //结果是-24.75 操 ...
- js中的“|”运算符和“”运算符
先上结果 3|4=7 4|4=4 3|8=11 2&3=2 3&8=0 以上是运算结果,可以自己在控制台上使用. 下面是具体说明: 首先是"|":是将两侧数字转换为 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...
最新文章
- UnicodeEncodeError\: gbk codec cant encode character \\xa1 in position 9699的解决办法
- linux中更新python_linux下面升级 Python版本并修改yum属性信息
- 传海思砍台积电第三季度一半手机订单
- 北京迎“豪宅元年”:四环房价将迈入8万元时代
- python基础教程:while循环与运算符和编码
- 信息学奥赛一本通 1167:再求f(x,n)
- 音乐怎么生成html,如何制作自己喜欢的DJ舞曲(教你玩转音乐制作)
- abd串口工具使用教程_如何使用命令刷机 ADB与FASTBOOT工具使用教程
- 设置selected选中的多种方法(总结)
- 关于MybatisPlus
- HDU 5296 Annoying problem LCA+树状数组
- ARCGIS---栅格影像矢量化(含二级化/二值化、栅格清理)
- 从Darry Ring看奢侈品该如何玩转互联网思维
- 地图标识符号大全_【好玩微信小游戏大全】虫虫逃亡:烧脑游戏佳作!强烈推荐!...
- springboot 集成 actuator
- php怎么转换bt,BT面板更换PHP版本 宝塔BT使用教程
- CSS中background与background-image的区别
- jQuery从入门到进阶视频教程-汤小洋-专题视频课程
- php数字运算符号,php运算符号
- 公共数据运营模式研究报告 附下载
热门文章
- pycharm打开脚本报错Gtk-Message: Failed to load module canberra-gtk-module
- illegal utf8 encoding at (190)
- centos 7 vs centos6 的不同
- 【Ajax】PHP中ajax的基本知识点
- 【原创】关于Git暂存区的理解
- matlab 曲线拟合--视频编码中PSNR计算及码率计算
- Overview of HEVC之3 术语
- android p wifi一直在扫描_Android Wifi 扫描及自动连接
- Intellij IDEA-我常用的快捷键
- Spring-@Value