es5且运算符(&&)
作者:xlnxin发布时间:2023-07-22分类:其他教程浏览:571
导读:且运算符(&&)往往用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔...
且运算符(&&)往往用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true
,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false
,则直接返回第一个运算子的值,且不再对第二个运算子求值。
't' && '' // ""'t' && 'f' // "f"'t' && (1 + 2) // 3'' && 'f' // ""'' && '' // ""var x = 1;(1 - 1) && ( x += 1) // 0x // 1
上面代码的最后一个例子,由于且运算符的第一个运算子的布尔值为false
,则直接返回它的值0
,而不再对第二个运算子求值,所以变量x
的值没变。
这种跳过第二个运算子的机制,被称为“短路”。有些程序员喜欢用它取代if
结构,比如下面是一段if结构的代码,就可以用且运算符改写。
if (i) { doSomething();}// 等价于i && doSomething();
上面代码的两种写法是等价的,但是后一种不容易看出目的,也不容易除错,建议谨慎使用。且运算符可以多个连用,这时返回第一个布尔值为false的表达式的值。如果所有表达式的布尔值都为true,则返回最后一个表达式的值。
true && 'foo' && '' && 4 && 'foo' && true// ''1 && 2 && 3// 3
上面代码中,例一里面,第一个布尔值为false
的表达式为第三个表达式,所以得到一个空字符串。例二里面,所有表达式的布尔值都是true
,所有返回最后一个表达式的值3
。
标签:程序
相关推荐
- 小程序img_sec_check图片检测出行"errcode":47001错误解决方法
- 双击excel打开不显示任何内容,只能在excel里面打开文件解决方法
- 小程序saveVideoToPhotosAlbum安卓手机可以下载MP4苹果手机不能下载解决方法
- 小程序逆向错误之 typeof3 is not a function
- 小程序e.target.dataset和e.currentTarget.dataset区别
- EXCEL双击不能直接打开EXCEL文件解决办法
- 微信小程序function函数arguments 是什么意思呢?
- 微信小程序、app之间的跳转代码
- 小程序登录获取openid后再执行页面的方法
- 小程序Cannot read property 'enableUpdateWxAppCode'解决方法
- 其他教程排行
-
- 1抖音极速版给大家发37元过年红包啦,快来领取吧!
- 2统信uos系统默认root密码是多少
- 3admin、0000、admin888、123456 md5加密后16位和32位代码
- 4Windows10 DVDRW识别为CD驱动解决方法,windows无法读取驱动器E:\中的光盘解决方法
- 5国产安可立思辰打印机手动双面打印设置教程
- 6navicat premium 15破解版64位32位 v15.0.3激活方法
- 7快手极速版给大家发56元新年红包啦,快来领取吧!
- 8查找对话框跑出屏幕外看不见了,怎么拖回来?
- 9小程序Cannot read property 'enableUpdateWxAppCode'解决方法
- 最近发表
-
- 小程序img_sec_check图片检测出行"errcode":47001错误解决方法
- win10看图软件不见了解决方法
- 双击excel打开不显示任何内容,只能在excel里面打开文件解决方法
- 小程序saveVideoToPhotosAlbum安卓手机可以下载MP4苹果手机不能下载解决方法
- 小程序逆向错误之 typeof3 is not a function
- 几种常用接口调用方式
- 小程序e.target.dataset和e.currentTarget.dataset区别
- excel vba实现模板批量打印
- lanxum打印机手动打印双面教程图解
- https(ssl)设置301跳转将http跳转到https