《零基础学JavaScript》 JavaScript第四课 Making Decisions(下)
第四课分为7个小节:
(此文章又长又臭,但是极其形象易懂,仅适合于JavaScript初学者,尤其是零基础者)
译文作者:胆晓茹鼠
作者网站:http://www.haoxiaoru.info/
课程回顾:
JavaScript第一课:变量Variables
JavaScript第二课:运算符Operators
JavaScript第三课:Making Decisions[上]
4.1 非布尔值结果
之前的教程中我们看到了,当运算中包括数字和字符串时,JavaScript如何在它们之间进行转换。与此类似,当需要布尔值才能执行的时候,JavaScript会把其它数据类型转换成布尔值。
大部分的值会被当做true,只有少数例外,比如值为0的数字变量和包含空字符串的字符串的变量。如下所示:
if (1) { . . . true
if (0) { . . . false
if (“”) { . . . false
if (” “) { . . . true
if {“0″) { . . . true
if (undefined) { . . . false
if (null) { . . . false
其中最后两个,变量值为undefined和null,常用来进行feature sensing。就是说,我们可以对不支持某些特殊features的浏览器,隐藏一部分JavaScript代码,从而让JavaScript代码可以在多浏览器中正确执行。
4.2 多重条件测试
在JavaScript中,可以使用逻辑运算符组合比较运算组合的结果。有三个逻辑运算符:与 &&,或 ||,非 !。如果你不熟悉逻辑运算结果,请看下表。
&& | true | false |
---|---|---|
true | true | false |
false | false | false |
|| | true | false |
---|---|---|
true | true | true |
false | true | false |
! | |
---|---|
true | false |
false | true |
提醒:别忘了&&是两个&组成的,||是两个|组成的。如果只写一个,就是位运算符,结果就大相径庭了。
优先顺序:算数运算符>比较运算符>逻辑运算符。同运算符优先顺序为从左到右。如果逻辑运算符不需运算完成就能出结果,就不需要运算完。
任何情况下,你想改变优先级顺序时,可以使用圆括号()。有时候,为了阅读更容易,也可以使用圆括号(),没有改变优先级顺序但是易读。
翻译未完成,待续。