• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    詳解JavaScript的表達(dá)式與運(yùn)算符_javascript技巧

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:46:27
    文檔

    詳解JavaScript的表達(dá)式與運(yùn)算符_javascript技巧

    詳解JavaScript的表達(dá)式與運(yùn)算符_javascript技巧:JavaScript腳本語(yǔ)言描述了一組用于操作數(shù)據(jù)值的運(yùn)算符,包括一元運(yùn)算符,布爾運(yùn)算符,算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,三元運(yùn)算符,位運(yùn)算符和賦值運(yùn)算符。 表達(dá)式是JavaScript語(yǔ)言的一個(gè)短語(yǔ),包含變量名(或字面量)和運(yùn)算符。最簡(jiǎn)單的表達(dá)式時(shí)字面量或變量名。
    推薦度:
    導(dǎo)讀詳解JavaScript的表達(dá)式與運(yùn)算符_javascript技巧:JavaScript腳本語(yǔ)言描述了一組用于操作數(shù)據(jù)值的運(yùn)算符,包括一元運(yùn)算符,布爾運(yùn)算符,算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,三元運(yùn)算符,位運(yùn)算符和賦值運(yùn)算符。 表達(dá)式是JavaScript語(yǔ)言的一個(gè)短語(yǔ),包含變量名(或字面量)和運(yùn)算符。最簡(jiǎn)單的表達(dá)式時(shí)字面量或變量名。

    JavaScript腳本語(yǔ)言描述了一組用于操作數(shù)據(jù)值的運(yùn)算符,包括一元運(yùn)算符,布爾運(yùn)算符,算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,三元運(yùn)算符,位運(yùn)算符和賦值運(yùn)算符。
    表達(dá)式是JavaScript語(yǔ)言的一個(gè)“短語(yǔ)”,包含變量名(或字面量)和運(yùn)算符。最簡(jiǎn)單的表達(dá)式時(shí)字面量或變量名。當(dāng)然也有合并簡(jiǎn)單的表達(dá)式來(lái)創(chuàng)建復(fù)雜的表達(dá)式。
    一、一元運(yùn)算符
    (1)遞增++和遞減--

    輸出box1=101 var box2=100; --box2;//相當(dāng)于box=box2-1 document.write("box2="+box2);//輸出box2=99

    前置和后置的區(qū)別

    輸出age=101 document.write("height="+height+"
    ");//輸出height=101 document.write("box="+box);//輸出box=102,原因是box經(jīng)過(guò)了兩次累加,所以是102

    在沒(méi)有賦值操作,前置和后置是一樣的。但在賦值操作時(shí),如果遞增或遞減運(yùn)算符前置,那么前置的運(yùn)算符會(huì)先累加或累減再賦值,如果是后置運(yùn)算符則先賦值再累加或累減。
    (2)加和減運(yùn)算符
    用于取正或取負(fù)運(yùn)算,也有把數(shù)字字符串轉(zhuǎn)換為數(shù)值形式的功能。

    輸出string var age=-box; document.write(age+"
    ");//輸出-20 document.write(typeof age); //輸出number

    二、算術(shù)運(yùn)算符
    JavaScript語(yǔ)言中規(guī)定了五種算術(shù)運(yùn)算符,即+,-,*,/和%(取余)。如果在算術(shù)運(yùn)算符的值不是數(shù)值,那么它會(huì)先使用Number()轉(zhuǎn)型函數(shù)將其轉(zhuǎn)換為數(shù)值(隱式轉(zhuǎn)換)。

    輸出100100 document.write(typeof box);//輸出string

    這是為什么呢?JavaScript語(yǔ)言中的做算術(shù)運(yùn)算時(shí),只要其中一個(gè)是字符串,那么結(jié)果就會(huì)轉(zhuǎn)換為字符串。相當(dāng)于字符串連接符,不能再算作是加法算術(shù)運(yùn)算符。

    輸出90 var age=5/4; document.write("age="+age+"
    ");//輸出1.25 var height=("你的年齡是:"+(10+10));//括號(hào)強(qiáng)制優(yōu)先級(jí) document.write(height);//輸出你的年齡是:20

    取余

    輸出1

    三、關(guān)系運(yùn)算符
    用于進(jìn)行比較的運(yùn)算符稱作為關(guān)系運(yùn)算符:<(小于),>(大于),<=(小于等于),>=(大于等于),==(相對(duì)),!=(不等),===(恒等或全等),!==(不全等或不恒等)。關(guān)系運(yùn)算符大多數(shù)返回的是一個(gè)布爾值。
    和其他運(yùn)算符一樣,當(dāng)關(guān)系運(yùn)算符操作非數(shù)值時(shí)要遵循以下規(guī)則:
    1兩個(gè)操作符都是數(shù)值,則數(shù)值比較
    2兩個(gè)操作數(shù)都是字符串,則比較兩個(gè)字符串對(duì)應(yīng)的字符編碼值
    3兩個(gè)操作數(shù)有一個(gè)是數(shù)值,則將另一個(gè)轉(zhuǎn)換為數(shù)值,在進(jìn)行數(shù)值比較
    4兩個(gè)操作數(shù)有一個(gè)是對(duì)象,則先調(diào)用value()方法或toString()方法,再用結(jié)果比較。

    輸出true var box2="3">22; document.write(box2+"
    ");//輸出false var box3="3">"22"; document.write(box3+"
    ");//輸出true var box4="a">"B";//a為97,B為66 document.write(box4+"
    ");//輸出true var box5= "Blue"<"alpha";//Blue的第一個(gè)字母是B,alpha的第一個(gè)字母是a,a為97,B為66 document.write(box5) //輸出true

    在相等和不等的比較上,如果操作數(shù)是非數(shù)值,則遵循以下規(guī)則:
    1一個(gè)操作數(shù)是布爾值,則比較之前將其轉(zhuǎn)換為數(shù)值,false轉(zhuǎn)成0,true轉(zhuǎn)成1。
    2一個(gè)操作數(shù)是字符串,則比較之前將其轉(zhuǎn)成為數(shù)值再比較。
    3一個(gè)操作數(shù)是對(duì)象,則先調(diào)用value()方法或toString()方法再比較。
    4不需要任何轉(zhuǎn)換的情況下,null和undefined是相等的
    5一個(gè)操作數(shù)是NaN,則==返回false,!=返回true,并且NaN和自身不等
    6兩個(gè)操作數(shù)都是對(duì)象,則比較它們是否是同一個(gè)對(duì)象,如果都指向同一個(gè)對(duì)象,則返回true,否則返回false
    7在全等和全不等的判斷上,比如值和類型都相等,才返回true,否則返回fasle。

    輸出true,比較的只是數(shù)值 var box2={}=={}; document.write(box2+"
    ");//輸出false,因?yàn)楸容^的是它們的地址,每個(gè)新創(chuàng)建對(duì)象的引用地址都不同。 var box3=null==undefined; document.write(box3+"
    ");//輸出true,因?yàn)榫鶠榭諗?shù)值 var box4='2'===2; document.write(box4+"
    ");//輸出false,兩個(gè)操作數(shù)的數(shù)據(jù)類型不相等 var box5=null===undefined; document.write(box5);//輸出false,兩個(gè)操作數(shù)的數(shù)據(jù)類型不相等

    四邏輯運(yùn)算符
    JavaScript語(yǔ)言中的邏輯運(yùn)算符通常作用于布爾值的操作,一般和關(guān)系運(yùn)算符配合使用,有三個(gè)邏輯運(yùn)算符:&&(邏輯與),||(邏輯或)和!(邏輯非)。
    (1)&&表示兩邊都必須是true,才返回true。
    如果兩邊的操作數(shù)有一個(gè)操作數(shù)不是布爾值的情況下,與運(yùn)算就不一定返回布爾值,此時(shí)遵循下面的規(guī)則:
    1第一個(gè)操作數(shù)是對(duì)象,則返回第二個(gè)操作數(shù)
    2第二操作數(shù)是對(duì)象,則第一個(gè)操作數(shù)返回true,才返回第二個(gè)操作數(shù),否則返回false
    3一個(gè)操作數(shù)是null,則返回null
    4一個(gè)操作數(shù)是undefined,則返回undefined
    5如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象
    邏輯與運(yùn)算符屬于短路操作,如果有第一個(gè)操作數(shù)返回的是false,第二個(gè)不管是true還是false都返回false。

    輸出true var box2=(5>4)&&{}; document.write(box2+"
    ");//輸出[object Object] var box3=(3>4)&&{}; document.write(box3);//輸出false

    (2)||表示兩邊有一個(gè)是true,就返回true。
    如果兩邊的操作數(shù)有一個(gè)操作數(shù)不是布爾值的情況下,與運(yùn)算就不一定返回布爾值,此時(shí)遵循下面的規(guī)則:
    1第一個(gè)操作數(shù)是對(duì)象,則返回第一個(gè)個(gè)操作數(shù)
    2第一個(gè)操作數(shù)的求值結(jié)果為fasle,則返回第二個(gè)操作數(shù)
    3兩個(gè)操作數(shù)都是對(duì)象,則返回第一個(gè)操作數(shù)
    4兩個(gè)操作數(shù)都是null,則返回null
    5兩個(gè)操作數(shù)都是undefined,則返回undefined
    6兩個(gè)操作數(shù)都是NaN,則返回NaN
    邏輯或運(yùn)算符也屬于短路操作,如果有第一個(gè)操作數(shù)返回的是true,第二個(gè)不管是true還是false都返回true。

    var box1={}||(5>4); 
    document.write(box1+"
    ");//
    輸出[object Object] var box2=(5>4)||{}; document.write(box2+"
    ");//輸出true var box3=(3>4)||{}; document.write(box3);//輸出[object Object]

    (3)!邏輯非運(yùn)算符可以作用與任何值,無(wú)論這個(gè)值是什么數(shù)據(jù)類型,這個(gè)運(yùn)算符都會(huì)返回一個(gè)布爾值,它的流程是:先將這個(gè)值轉(zhuǎn)換成布爾值,然后取反,規(guī)則如下:
    1操作數(shù)是一個(gè)對(duì)象,返回false
    2操作數(shù)是一個(gè)空字符串,返回true
    3操作數(shù)是一個(gè)非空字符串,返回false
    4操作數(shù)是數(shù)值0,返回true
    5操作數(shù)是任意非0數(shù)值,返回false
    6操作數(shù)是null,返回true
    7操作數(shù)是NaN,返回true
    8操作數(shù)是undefined,返回true

    輸出false

    五、位運(yùn)算符
    JavaScript語(yǔ)言中包括了七種位運(yùn)算符:~(位非),&(位與),|(位或),^(位異或),<<(左移),>>(有符右移號(hào)),>>>(無(wú)符號(hào)右移)
    (1)位非(~)運(yùn)算把運(yùn)算數(shù)轉(zhuǎn)換成32位數(shù)字,然后把二進(jìn)制數(shù)轉(zhuǎn)換成它的二進(jìn)制反碼,最后把二進(jìn)制數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù)。實(shí)質(zhì)上是對(duì)數(shù)字求負(fù),然后減去1即為所得值。

    輸出-26

    (2)位與(&)運(yùn)算直接對(duì)數(shù)字的二進(jìn)制形式進(jìn)行運(yùn)算,然后對(duì)上下同一位置的兩個(gè)數(shù)位進(jìn)行與運(yùn)算,只有兩個(gè)數(shù)位都為1時(shí)才得出1,其余的均為0.

    輸出1

    (3)位或(|)運(yùn)算也是直接對(duì)數(shù)字的二進(jìn)制形式進(jìn)行計(jì)算,然后對(duì)上下同一位置的兩個(gè)數(shù)位進(jìn)行或運(yùn)算,只右兩個(gè)數(shù)位都為0時(shí)才得出0,其余的均為1.

    輸出27

    (4)位異或(^)也是直接對(duì)二進(jìn)制形式進(jìn)行運(yùn)算。當(dāng)只有一個(gè)數(shù)位存放的是1時(shí),它才返回1。其余的返回0。也就是兩個(gè)數(shù)位相同時(shí)返回0,不同時(shí)返回1.

    輸出26

    (5)左移運(yùn)算也是對(duì)二進(jìn)制數(shù)進(jìn)行操作,相等于第一個(gè)操作數(shù)乘以(2的左移位數(shù)次冪)的積。

    輸出200

    (6)有符號(hào)右移運(yùn)算也是對(duì)二進(jìn)制數(shù)進(jìn)行操作,相等于第一個(gè)操作數(shù)除以(2的右移位數(shù)次冪)的商。

    輸出6

    (7)無(wú)符號(hào)右移運(yùn)算也是對(duì)二進(jìn)制數(shù)進(jìn)行操作,對(duì)于正數(shù),與有符號(hào)右移是相同的結(jié)果,但是對(duì)于負(fù)數(shù),就會(huì)所不同。

    六、賦值運(yùn)算符
    賦值運(yùn)算符包括:=(),+=(),-=(),*=(),/=(),%=(),<<=(),>>=(),>>>=()。

    輸出box=200

    七、其他運(yùn)算符
    1)、字符串運(yùn)算符:“+”,它的作用是將兩個(gè)字符串想加。規(guī)則:只要有一個(gè)字符串即可。

    輸出100100

    2)、逗號(hào)運(yùn)算符,可以在一條語(yǔ)句中執(zhí)行多個(gè)操作

    輸出box=100

    3)、三元操作符:

    輸出錯(cuò)

    如果想更詳細(xì)的了解ECMAScript運(yùn)算符的知識(shí),可以訪問(wèn)JavaScript高級(jí)教程中的ECMASscript一元運(yùn)算符這個(gè)系列中有詳細(xì)的運(yùn)算符教程。對(duì)于JS的運(yùn)算符來(lái)說(shuō),我們可以對(duì)比著C++,C#和Java來(lái)學(xué),這個(gè)還是相當(dāng)?shù)娜菀椎摹?/p>

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    詳解JavaScript的表達(dá)式與運(yùn)算符_javascript技巧

    詳解JavaScript的表達(dá)式與運(yùn)算符_javascript技巧:JavaScript腳本語(yǔ)言描述了一組用于操作數(shù)據(jù)值的運(yùn)算符,包括一元運(yùn)算符,布爾運(yùn)算符,算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,三元運(yùn)算符,位運(yùn)算符和賦值運(yùn)算符。 表達(dá)式是JavaScript語(yǔ)言的一個(gè)短語(yǔ),包含變量名(或字面量)和運(yùn)算符。最簡(jiǎn)單的表達(dá)式時(shí)字面量或變量名。
    推薦度:
    標(biāo)簽: js 詳解 javascript
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專題
    Top
    主站蜘蛛池模板: 精品国产一区二区三区久久蜜臀| 国产精品国产高清国产专区| 无码人妻精品一区二区三18禁| 国产精品1区2区| 亚洲高清专区日韩精品| 国产亚洲精品资在线| 久久久91精品国产一区二区三区| 日韩人妻无码精品久久久不卡| 精品国产91久久久久久久a| 久久精品视频免费| 99精品无人区乱码在线观看 | 亚洲精品无码久久久久AV麻豆| 欧美精品黑人粗大视频| 亚洲精品免费观看| 99精品人妻无码专区在线视频区| 亚洲精品成人网站在线观看| 欧美亚洲成人精品| 精品日韩欧美国产| 国产亚洲精品影视在线产品| 亚洲无删减国产精品一区| 8x福利精品第一导航| 国产精品亲子乱子伦xxxx裸| 日韩精品人妻系列无码专区免费| 亚洲中文字幕久久精品无码APP| 精品日韩欧美国产| 精品a在线观看| 久久国产香蕉一区精品| 国产内地精品毛片视频 | 国产成人精品久久免费动漫| 精品国产乱码久久久久久1区2区| 亚洲精品一品区二品区三品区| 亚洲国产小视频精品久久久三级 | 嫖妓丰满肥熟妇在线精品| 国内精品久久久久久麻豆 | 四虎国产成人永久精品免费| 亚洲国产精品无码久久青草| 四虎影院国产精品| 国产精品1024香蕉在线观看| 99久久精品影院老鸭窝| 国产亚洲精品国产| 亚洲精品小视频|