专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » 逻辑运算符:JavaScript核心技术-逻辑运算符 »正文

逻辑运算符:JavaScript核心技术-逻辑运算符

来源: 发布时间:星期六, 2008年12月6日 浏览:23次 评论:0
.5 逻辑运算符
到目前为止,本书中的大多数例子中给出的条件表达式通常是由一个运算符和两个操作数组成。如下例这样:
if (sValue == ’test’)

然而,在很多时候,条件表达式要满足几个不同的条件,而每个条件由一个表达式来表示,并使用一个JavaScript逻辑运算符将它们组合在一起。
JS中有三个逻辑运算符:两个二元运算符和一个一元运算符。第一个是逻辑与,使用&&来表示。在用于条件语句时,与运算要求运算符两边的表达式的值都为真,整个表达式的值才为真:
var nValue = 10;if ((nValue > 10) && (nValue <=100)) // 当nValue大于10 且小于等于100时为真
使用这个与运算符进行连接的表达式的返回值为假,因为变量nValue等于10,这意味着第一个表达式为假。如果第一个表达式的值为假,那么JavaScript引擎就不会处理第二个表达式,因为无论怎样整个语句的值都会是假。
第二个运算符是逻辑或运算,它使用两个竖线(||)来表示。在用于条件语句时,或运算要求只要任意一边的表达式为真,整个表达式的值就为真。
var nValue = 10;if ((nValue > 10) || (nValue <= 100)) // 若nValue 大于10 或小于等于100,则为真
这段代码的结果是条件语句为真,因为变量小于100。逻辑或运算符两边都会被计算,因为此运算只要两边的表达式有一个为真就能返回真。
最后一个逻辑运算符是逻辑非。此运算返回了操作数的逻辑反。如果操作数为真,则返回假;如果操作数为假,则返回真:
var nValue = 10;if (!(nValue > 10)) // 若nValue 小于等于10, 则返回真;否则返回假
对于两个逻辑运算符,JavaScript引擎有一种被称作第一表达式短路的计算方法。如果逻辑运算符是与(&&)运算,而第一个表达式为假,就不会计算第二个,因为整个表达式的值只能为假。
在使用逻辑或运算符时,如果第一个表达式的值为真,第二个表达式就不用计算了。运算数中有一个为真,那么或表达式的值就会为真。
理解了短路计算是如何工作的,你可以把对于CPU或其他关键资源占用较少的表达式用在前面,这样做能够帮你的应用提升一点效率。
JavaScript最佳实践:在使用逻辑与/或运算符时,利用短路计算,把关键表达式或占用关键资源少的表达式放在前面。
还要注意,虽然本节中的例子中都对表达式使用了括号,但是这并不是必须的;关系运算符的优先级比逻辑运算符的优先级高,因此会先计算。在例3-6中,我没有对与运算符使用括号。
然而,我发现括号不仅能使整个表达式更具可读性,它还是一个很好的、视觉上的双重检查。
JavaScript最佳实践:用括号将逻辑运算符(&&或||)两边的表达式括起来。

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: