位置: 编程技术 - 正文
当操作数都是布尔值时,“&&”对两个值执行布尔与(AND)操作。
关系运算符的优先级比”&&”要高。
第二层理解”&&“可以对真值和假值进行布尔与(AND)操作。(假值有false、null、undefined、0、NaN和”“)。在JS中任何希望使用布尔值的地方,表达式和语句都会将其当做真值或假值来对待,因此实际上”&&”并不总是返回true和false。
第三层理解当运算符要返回一个真值或假值时,根据左操作数的值会遇到两种运算情况:运算符首先计算左操作数的值,如果计算结果是假值,那么整个表达式的结果一定也是假值,此时”&&“简单的返回左操作数的值,而并不会对右操作数进行计算。如果左操作数是真值,”&&“将计算右操作数的值并将其返回作为整个表达式的计算结果。
”&&“的行为有时称作”短路“,我们将会看到很多代码利用了这一特性进行有条件地执行代码。例如下面两行代码是完全等价的:
知识延伸运算符“||”和”&&”一样也具有一些复杂的行为。
用来从一组备选表达式中选出第一个真值表达式:
这种用法在函数中可以用来给参数提供默认值:
运算符优先级
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
推荐整理分享运算符&&的三个不同层次(运算符优先级由高到低的顺序),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:运算符&的作用,运算符优先级,运算符优先级由高到低的顺序,运算符&表示,运算符&表示,运算符优先级,运算符优先级,运算符&表示,内容如对您有帮助,希望把文章链接给更多的朋友!
有关于JS辅助函数inherit()的问题 最近在阅读《JavaScript权威指南》(第六版)在第六章P有这么一段代码://返回一个继承自原型对象proto的属性的新对象//这里可以用到ES5的Object.create()
有关于JS构造函数的重载和工厂方法 写在前面有时候我们希望对象的初始化有多种方式。比如通过元素组成的数组来初始化一个Set对象,而不是通过传入构造函数的参数列表来初始化它重
关于JS字符串函数String.replace() 替换匹配给定正则表达式的(一个或多个)子串string.replace(regexp,replacement)参数:regexp:RegExp对象或者字符串replacement:替换文本的字符串,或者一个函数,
标签: 运算符优先级由高到低的顺序
本文链接地址:https://www.jiuchutong.com/biancheng/377637.html 转载请保留说明!友情链接: 武汉网站建设