摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。
算術(shù)操作符
加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加號(hào)(+)、減號(hào)(-)、乘號(hào)(*)、除號(hào)(/)。
下面是一個(gè)簡(jiǎn)單的加法操作:
1 + 4
還可以把多種操作組合在一起:
1 + 4 * 5
為避免產(chǎn)生歧義,可以用括號(hào)把不同的操作分隔開(kāi)來(lái):
1 + (4 * 5) (1 + 4) * 5
變量可以包含操作:
var total = (1 + 4) * 5;
還可以對(duì)變量進(jìn)行操作:
var temp_fahrenheit = 95; var temp_celsius = (temp_fahrenheit - 32) / 1.8;
JavaScript還提供了一些非常有用的操作符作為各種常用操作的縮寫。例如,如果想給一個(gè)數(shù)值變量加上1,可以使用如下所示的語(yǔ)句:
year = year + 1;
也可以使用++操作符來(lái)達(dá)到同樣的目的:
year++;
類似地,--操作符將對(duì)一個(gè)數(shù)值變量的值進(jìn)行減1操作。
加號(hào)(+)是一個(gè)比較特殊的操作符,既可以用于數(shù)值,也可以用于字符串。把兩個(gè)字符串合二為一是一種很直觀易懂的操作:
var message = "I am feeling" + "happy";
像這樣把多個(gè)字符串首尾相連在一起的操作叫做拼接。這種拼接也可以通過(guò)變量來(lái)完成:
var mood = "happy"; var message = "I am feeling" + mood;
甚至可以把數(shù)值和字符串拼接在一起。因?yàn)镴avaScript是一種弱類型語(yǔ)言,所以這種操作是允許的。此時(shí),數(shù)值將會(huì)被自動(dòng)轉(zhuǎn)換為字符串:
var year = 2005; var message = "The year is" + year;
如果把字符串拼接在一起,其結(jié)果將是一個(gè)更長(zhǎng)的字符串;但是如果用同樣的操作符來(lái)“拼接”兩個(gè)數(shù)值,其結(jié)果將是那兩個(gè)數(shù)值的算術(shù)和。對(duì)比下面兩條alert語(yǔ)句的執(zhí)行結(jié)果:
alert ("10" + 20); alert (10 + 20);
第一條alert語(yǔ)句將返回字符串“1020”,第二條alert語(yǔ)句將返回?cái)?shù)值30。第一條是對(duì)字符串“10”和數(shù)值20進(jìn)行拼接的結(jié)果。第二條是對(duì)數(shù)值10和數(shù)值20進(jìn)行假發(fā)運(yùn)算的結(jié)果。
另一個(gè)非常有用的快捷操作符是+=,它可以一次完成“加法和賦值”(或“拼接和賦值”)操作:
var year = 2010; var message = "The year is"; message += year;
執(zhí)行完上面這些語(yǔ)句后,變量message的值將是“The year is 2005”。可以用如下所示的alert對(duì)話框來(lái)驗(yàn)證這一結(jié)果:
alert(message);條件語(yǔ)句
在解釋腳本時(shí),瀏覽器將依次執(zhí)行這個(gè)腳本中的各條語(yǔ)句,我們可以在這個(gè)腳本中用條件語(yǔ)句來(lái)設(shè)置一個(gè)條件,只有滿足了這一條件才能讓更多的語(yǔ)句得到執(zhí)行。最常見(jiàn)的條件語(yǔ)句是if語(yǔ)句,下面是if語(yǔ)句的基本語(yǔ)法:
if(condition) { statements; }
條件必須放在if后面的圓括號(hào)中。條件的求之結(jié)果永遠(yuǎn)是一個(gè)布爾值,即只能是true或false。花括號(hào)中的語(yǔ)句——不管他們有多少條,只有在給定條件的求值結(jié)果是true的情況下才會(huì)執(zhí)行。因此,在下面這個(gè)例子中,alert消息永遠(yuǎn)也不會(huì)出現(xiàn):
if(1 > 2) { alert("The world has gone mad!") }
因?yàn)?不可能大于2,所以上面這個(gè)條件的值永遠(yuǎn)是false。
事實(shí)上,if語(yǔ)句中的花括號(hào)本身并不是必不可少的。如果if語(yǔ)句中的花括號(hào)部分只包含著一條語(yǔ)句的話,那就可以不使用花括號(hào),而且這條if語(yǔ)句的全部?jī)?nèi)容可以寫在同一行上:
if(1 > 2) alert("The world has gone mad!");
不過(guò),花括號(hào)可以提高腳本的可讀性,所以在if語(yǔ)句中總是使用花括號(hào)是個(gè)好習(xí)慣。
if語(yǔ)句可以有一個(gè)else字句。包含在else字句中的語(yǔ)句會(huì)在給定條件為假時(shí)執(zhí)行:
if(1 > 2) { alert("The world has gone mad!") } else { alert("All is well with the world") }
因?yàn)榻o定條件“1 > 2”的值為假(false),所以最后彈框顯示else里面的內(nèi)容。
比較操作符JavaScript還提供了許多幾乎只能用在條件語(yǔ)句里的操作符,其中包括諸如大于(>)、小于(<)、大于或等于(>=)、小于或等于(<=)之類的比較操作符。
如果想比較兩個(gè)值是否相等,可以使用“等于”比較操作符。這個(gè)操作符由兩個(gè)等號(hào)構(gòu)成(==)。單個(gè)等號(hào)(=)是用于完成賦值操作的。如果在條件語(yǔ)句的某個(gè)條件里使用了單個(gè)等號(hào),那么只要相應(yīng)的復(fù)制操作取得成功,那個(gè)條件的求值結(jié)果就將是true。
下面是一個(gè)錯(cuò)誤地進(jìn)行“等于”比較的例子:
var my_mood = "happy"; var your_mood = "sad"; if(my_mood = your_mood) { alert("We both feel the same.") }
上面這條語(yǔ)句的錯(cuò)誤之處在于,它是把變量your_mood賦值給變量my_mood,而不是在比較它們是否相等。因?yàn)檫@個(gè)賦值操作總會(huì)成功,所以這個(gè)條件語(yǔ)句的結(jié)果將永遠(yuǎn)是true。
下面才是進(jìn)行“等于”比較的正確做法:
var my_mood = "happy"; var your_mood = "sad"; if(my_mood == your_mood) { alert("We both feel the same.") }
這次,條件語(yǔ)句的結(jié)果是false。
JavaScript還提供了一個(gè)用來(lái)進(jìn)行“不等于”比較的操作符,它由一個(gè)感嘆號(hào)和一個(gè)等號(hào)構(gòu)成(!=)。
if(my_mood != your_mood) { alert("We"re feeling different moods.") }
相等操作符==并不表示嚴(yán)格相等,這一點(diǎn)很容易讓人迷糊。例如,比較false與一個(gè)空字符串會(huì)得到上面結(jié)果?
var a = false; var b = ""; if(a == b) { alert("a equals b"); }
這個(gè)條件語(yǔ)句的求值結(jié)果是true,因?yàn)橄嗟炔僮鞣?=認(rèn)為空字符與false的含義相同。要進(jìn)行嚴(yán)格比較,就要使用另一種等號(hào)(===)。這個(gè)全等操作符會(huì)執(zhí)行嚴(yán)格的比較,不僅比較值,而且會(huì)比較變量的類型:
var a = false; var b = ""; if(a === b) { alert("a equals b"); }
這一次,條件表達(dá)式的求值結(jié)果就是false了。因?yàn)榧词箍梢哉J(rèn)為false與空字符串具有相同的含義,但Boolean布爾值和String字符串可不是一種類型。
對(duì)于不等操作符!=也是如此,比較嚴(yán)格不相等,就要使用!==。
邏輯操作符JavaScript允許把條件語(yǔ)句里的操作組合在一起。例如,如果想檢查某個(gè)變量,假設(shè)這個(gè)變量的名字是num,它的值是不是在5 ~ 10之間,將需要進(jìn)行兩次比較操作。首先,比較這個(gè)變量是否大于或等于5,然后,比較這個(gè)變量是否小于等于10.這兩次比較操作稱為邏輯比較。下面是把這兩個(gè)邏輯比較組合在一起的具體做法:
if ( num >= 5 && num <= 10 ) { alert("The number is in the right range.") }
這里使用了“邏輯與”操作符,由兩個(gè)“&”字符構(gòu)成,是一個(gè)邏輯操作符。
邏輯操作符的操作對(duì)象是布爾值。每個(gè)邏輯操作數(shù)返回一個(gè)布爾值true或者是false。“邏輯與”操作只有在它的兩個(gè)操作數(shù)都是true時(shí)才會(huì)是true。
“邏輯或”操作符由兩個(gè)垂直線字符構(gòu)成。只要它的操作數(shù)中有一個(gè)是true,“邏輯或”的操作就將是true。如果它的兩個(gè)操作數(shù)都是true,“邏輯或”操作也將是true。只有當(dāng)它的兩個(gè)操作數(shù)都是false時(shí),“邏輯或”操作才會(huì)是false。
if ( num > 10 || num < 5 ) { alert("The number is not in the right range") }
JavaScript還提供了一個(gè)“邏輯非”操作符,它由一個(gè)感嘆號(hào)( ! )多帶帶構(gòu)成。“邏輯非”操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是true,“邏輯非”操作符將把它取反為false:
if ( !(1 > 2) ) { alert("All is well with the world"); }
為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使“邏輯非”操作符作用于括號(hào)里的所有內(nèi)容。
可以用“邏輯非”操作符把整個(gè)條件語(yǔ)句的結(jié)果顛倒過(guò)來(lái)。在下面的例子里,特意使用了一對(duì)括號(hào)來(lái)確保“邏輯非”操作符將作用于兩個(gè)邏輯操作數(shù)的組合結(jié)果:
if ( !(num > 10 || num < 5) ) { alert("The number is in the right range.") }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/115288.html
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:也就是說(shuō),仍將看到一條消息。這些語(yǔ)句執(zhí)行完畢后,變量的值將是,盡管循環(huán)控制條件的求值結(jié)果是。循環(huán)最常見(jiàn)的用途之一是對(duì)某個(gè)數(shù)組里的全體元素進(jìn)行遍歷處理。變量對(duì)于數(shù)組中每個(gè)元素都是從開(kāi)始按遞增。 循環(huán)語(yǔ)句 if語(yǔ)句唯一的不足是無(wú)法完成重復(fù)性的操作。在if語(yǔ)句里,包含在花括號(hào)里的代碼塊只能執(zhí)行一次。如果需要多次執(zhí)行同一個(gè)代碼塊,就必須使用循環(huán)語(yǔ)句。 while循環(huán) while循環(huán)與if語(yǔ)句非...
摘要:事實(shí)上,每個(gè)函數(shù)實(shí)際是一個(gè)短小的腳本。先對(duì)函數(shù)做出定義再調(diào)用是一個(gè)良好的編程習(xí)慣。可以將不同的數(shù)據(jù)傳遞給它們,而它們將使用這些數(shù)據(jù)去完成預(yù)定的操作。傳遞給函數(shù)的數(shù)據(jù)稱為參數(shù)。這個(gè)例子中,變量的值將是,這個(gè)數(shù)值由函數(shù)返回。 函數(shù) 如果需要多次使用同一段代碼,可以把它們封裝成一個(gè)函數(shù)。函數(shù)就是一組允許在你的代碼里隨時(shí)調(diào)用的語(yǔ)句。事實(shí)上,每個(gè)函數(shù)實(shí)際是一個(gè)短小的腳本。 先對(duì)函數(shù)做出定義再調(diào)用...
摘要:可以創(chuàng)建一個(gè)函數(shù)并讓它返回一個(gè)數(shù)值一個(gè)字符串一個(gè)數(shù)組或一個(gè)布爾值。操作符可以告訴我們它的操作數(shù)是一個(gè)字符串?dāng)?shù)值函數(shù)布爾值還是對(duì)象,例如在瀏覽器中加載這個(gè)例子時(shí),會(huì)彈出一個(gè)對(duì)話框,報(bào)告的類型它是一個(gè)對(duì)象。 函數(shù) 如果需要多次使用同一段代碼,可以把它們封裝成一個(gè)函數(shù)。函數(shù)就是一組允許在你的代碼里隨時(shí)調(diào)用的語(yǔ)句。事實(shí)上,每個(gè)函數(shù)實(shí)際是一個(gè)短小的腳本。 先對(duì)函數(shù)做出定義再調(diào)用是一個(gè)良好的編程習(xí)...
閱讀 4276·2021-10-13 09:39
閱讀 481·2021-09-06 15:02
閱讀 3229·2019-08-30 15:53
閱讀 1040·2019-08-30 13:04
閱讀 2028·2019-08-30 11:27
閱讀 2010·2019-08-26 13:51
閱讀 2092·2019-08-26 11:33
閱讀 2901·2019-08-26 10:36