版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、北京優(yōu)才創(chuàng)智科技有限公司前端文章Javascript知識(shí)架構(gòu)學(xué)習(xí)路徑(二)運(yùn)算符篇Charles 2016.6【摘要】本文是寫給一位Javascript入門學(xué)習(xí)者進(jìn)行學(xué)習(xí)總結(jié)的,總體上將Javascript的基礎(chǔ)部分分成了九大塊,分別是變量、運(yùn)算符、數(shù)組、流程控制結(jié)構(gòu)、字符串函數(shù)、函數(shù)基礎(chǔ)、DOM操作基礎(chǔ)、文檔對(duì)象模型DOM和正則表達(dá)式?!娟P(guān)鍵字】變量、運(yùn)算符、數(shù)組、流程控制結(jié)構(gòu)、函數(shù)、DOM、正則表達(dá)式。在上一篇文章中,我們討論了JS中的變量,今天的文章,我將與大家一起來全面系統(tǒng)地總結(jié)一下我們JS中的運(yùn)算符。在JS中,運(yùn)算符大致可以分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、對(duì)象運(yùn)算符
2、、自加與自減及其他的一些運(yùn)算符,其中位運(yùn)算符會(huì)做專題小結(jié),在此文中就不詳述。下面我們就一一來回顧。1、 算術(shù)運(yùn)算符算術(shù)運(yùn)算符主要包括:+、-、*、/、%,除了這五個(gè)之外還有復(fù)合運(yùn)算符,具體有+=、-=、*=、/=和%=,下面我們就具體來討論一下各個(gè)運(yùn)算符在用法上需要注意的問題。1、 +這個(gè)運(yùn)算符比較特殊,它除了可以做算術(shù)運(yùn)算中的加法運(yùn)算之外,還可以做字符串的連接運(yùn)算,同時(shí),它還有一個(gè)比較特殊的用法,也就是它可以將一個(gè)數(shù)值轉(zhuǎn)換成字符串。(1) 對(duì)數(shù)字進(jìn)行加法求和,如:3+2,得到的結(jié)果為5;(2) 對(duì)字符串進(jìn)行連接操作,又如“今天”+“好天氣”,得到的結(jié)果為“今天好天氣”;(3) 字符串轉(zhuǎn)換,這
3、種用法比較特殊,要注意寫法,如5+“”,得到的結(jié)果是“5”,一般都是將數(shù)字寫在前面,后面直接通過“+”連接一個(gè)空字符串,這樣就可以將數(shù)字轉(zhuǎn)換成字符串了。 “+”在做字符串拼接時(shí),又分兩種情況,第一種就是簡單的兩個(gè)字符串拼接,如“JS”+“運(yùn)算符”,得到的結(jié)果為“JS運(yùn)算符”,另一種情況是字符串+數(shù)值,當(dāng)出現(xiàn)這種情況的時(shí)候,JS會(huì)自動(dòng)將數(shù)值轉(zhuǎn)換成字符串,然后再與“+”左邊的字符串做拼接操作,比如“幸運(yùn)數(shù)字:”+5,得到的結(jié)果是“幸運(yùn)數(shù)字:5”。2、 -這個(gè)運(yùn)算符與“+”相比,也有自身的特點(diǎn),它所能實(shí)現(xiàn)的運(yùn)算主要包括以下三個(gè)方面:(1) 對(duì)數(shù)字進(jìn)行減法操作;(2) 對(duì)操作數(shù)進(jìn)行取反操作;(3) 將
4、字符串轉(zhuǎn)換成數(shù)值,它與“+”號(hào)的區(qū)別是,在書寫格式方面,“-”在轉(zhuǎn)換的時(shí)候,寫法是:數(shù)值型字符串-0。3、 * “*”運(yùn)算符在使用的時(shí)候只有一個(gè)功能,那就是對(duì)兩個(gè)數(shù)進(jìn)行乘法運(yùn)算;4、 / “/”運(yùn)算符與“*”類似,也只有一個(gè)功能,那就是對(duì)兩個(gè)數(shù)進(jìn)行除法運(yùn)算;5、 %“%”運(yùn)算符稱為取模運(yùn)算符,計(jì)算的結(jié)果是兩個(gè)數(shù)做除法運(yùn)算后,取余數(shù)。算術(shù)運(yùn)算符除了上面所列舉的五個(gè)之外,還有一種叫做復(fù)合運(yùn)算符,具體有+=、-=、*=、/=和%=,功能與基本的算術(shù)運(yùn)算符類似。2、 關(guān)系運(yùn)算符關(guān)系運(yùn)算符在功能上分為兩大類,其一,大小關(guān)系檢測運(yùn)算,其二,等值關(guān)系檢測運(yùn)算,下面,就這兩種功能我們分別進(jìn)行小結(jié)。1、大小關(guān)系
5、檢測大小關(guān)系檢測主要就是判斷兩個(gè)操作數(shù)之間的大小關(guān)系,其主要包括兩個(gè)方面,一方面就是運(yùn)算符本身,另一方面就是運(yùn)算符的操作規(guī)則。(1)運(yùn)算符“<”,如“A<B”,如果A是小于B的,那么結(jié)果為true,反之,結(jié)果為false;“>”,如“A>B”,如果A是大于B的,那么結(jié)果為true,反之,結(jié)果為false;“<=”,如“A<=B”,如果A是小于或等于B的,那么結(jié)果為true,反之,結(jié)果為false;“>=”,如“A>=B”,如果A是大于B的,那么結(jié)果為true,反之,結(jié)果為false;(2) 操作規(guī)則當(dāng)運(yùn)算符是兩個(gè)數(shù)值的比較時(shí),所執(zhí)行的操作是比較它
6、們的代數(shù)值,如“3>2”,那么返回的結(jié)果為true;當(dāng)運(yùn)算符的兩側(cè)一個(gè)是數(shù)值,一個(gè)是非數(shù)值時(shí),會(huì)將非數(shù)值操作數(shù)轉(zhuǎn)換成數(shù)值,然后再進(jìn)行代數(shù)值比較,如“3>2”,得到的結(jié)果也為true;如果是兩個(gè)字符串之間的比較,那么會(huì)逐字符比較它們的Unicode數(shù)值;如果是字符串與非數(shù)值之間的比較,那么會(huì)將運(yùn)算數(shù)轉(zhuǎn)換成字符串,然后再進(jìn)行比較;如果運(yùn)算數(shù)既非數(shù)值也非字符串,那么會(huì)先將運(yùn)算數(shù)轉(zhuǎn)換成數(shù)值或字符串再進(jìn)行比較;如果運(yùn)算數(shù)無法被轉(zhuǎn)換成數(shù)值或字符串時(shí),則直接返回結(jié)果false;如果是與NaN進(jìn)行比較,也是直接返回結(jié)果false。2、 等值關(guān)系檢測等值關(guān)系檢測運(yùn)算符又分兩種情況,分別是相等比較和相
7、同比較,下面就具體來看看,這兩種情況的具體內(nèi)容:(1)相等比較操作符主要有兩個(gè):=和!=。主要是比較兩個(gè)運(yùn)算數(shù)返回值是否相等;比較的原則:如果是null與undefined比較,結(jié)果是相等的;如果是NaN,它與任何數(shù)比較的結(jié)果都是不相等的,包括與自身比較;如果是對(duì)象的比較,同一對(duì)象的結(jié)果為相等,不同對(duì)象的結(jié)果為不等。(2) 相同比較運(yùn)算符主要有:=和!=。比較兩個(gè)運(yùn)算數(shù)的返回值及數(shù)據(jù)類型是否相同。比較的原則:如果是值類型間的比較,只有數(shù)據(jù)類型相同時(shí),且數(shù)值相等的情況下才能相同;如果是值類型與引用類型之間的比較,那么結(jié)果肯定是不相同的;如果是引用類型之間的比較,比較的是它們的引用值。3、 邏輯運(yùn)
8、算符邏輯運(yùn)算符主要有三個(gè),邏輯與(&&)、邏輯或(|)和邏輯非(?。O旅嫖覀兙头謩e對(duì)這三個(gè)運(yùn)算符從特性和規(guī)則來進(jìn)行小結(jié)。1、 &&邏輯與運(yùn)算,我們使用的是“&&”運(yùn)算符,其使用規(guī)則有如下幾點(diǎn):(1) 如果第一個(gè)操作數(shù)是對(duì)象,則直接返回第二個(gè)操作數(shù);(2) 如果第二個(gè)操作數(shù)是對(duì)象,第一個(gè)操作數(shù)值為true時(shí),則直接返回第二個(gè)操作數(shù),即對(duì)象;(3) 如果兩個(gè)操作數(shù)都是對(duì)象,則返回第二個(gè)操作數(shù);(4) 如果有一個(gè)操作數(shù)是null,則直接返回null;(5) 如果有一個(gè)操作數(shù)是NaN,則直接返回NaN;(6) 如果有一個(gè)操作數(shù)是undefined,也將
9、直接返回undefined。 作為邏輯與運(yùn)算,它的特性有兩點(diǎn),其一,當(dāng)且僅當(dāng)兩個(gè)運(yùn)算數(shù)的值都為true時(shí),才返回true,否則將返回false;其二,當(dāng)?shù)谝粋€(gè)操作數(shù)返回值為false,那么將不會(huì)再對(duì)后續(xù)的操作數(shù)進(jìn)行判斷,這個(gè)特性又稱為短路。2、|邏輯或運(yùn)算,我們使用的是“|”運(yùn)算符,其使用規(guī)則有如下幾點(diǎn):(1) 如果第一個(gè)操作數(shù)是對(duì)象,則返回第一個(gè)操作數(shù);(2) 如果第一個(gè)操作數(shù)為false,則返回第二個(gè)操作數(shù);(3) 如果兩個(gè)操作數(shù)都是對(duì)象,則返回第一個(gè)操作數(shù);(4) 如果兩個(gè)操作數(shù)都是null,則返回null;(5) 如果兩個(gè)操作數(shù)都是NaN,則返回NaN;(6) 如果兩個(gè)操作數(shù)都是und
10、efined,則返回undefined。 作為邏輯或運(yùn)算,其特性也有兩點(diǎn),首先,當(dāng)且僅當(dāng)兩個(gè)運(yùn)算數(shù)的值都為false時(shí),才返回false,否則,返回true;其次,也是所謂的短路,即如果第一個(gè)操作數(shù)為true,則不會(huì)再對(duì)后續(xù)的操作數(shù)進(jìn)行判斷。3、 !邏輯非運(yùn)算,用的是“!”運(yùn)算符,它的特性還是兩點(diǎn),第一,如果運(yùn)算數(shù)的值為false,則返回true,若為true,則返回false;其二,如果連續(xù)使用兩次非運(yùn)算符,則可以將任意類型轉(zhuǎn)換成布爾型值。 4、 對(duì)象運(yùn)算符對(duì)象運(yùn)算符主要包含以下六類:1、 in in運(yùn)算符主要是判斷左側(cè)運(yùn)算數(shù)是否為右側(cè)運(yùn)算數(shù)的成員;2、 instancesof instan
11、cesof主要用來判斷對(duì)象實(shí)例是否屬于某個(gè)類或者構(gòu)造函數(shù);3、 new new主要是根據(jù)構(gòu)造函數(shù)創(chuàng)建一個(gè)新的對(duì)象,并初始化這個(gè)對(duì)象;4、 delete delete主要是用來刪除指定對(duì)象的屬性,數(shù)組元素或變量;5、 .和 .與 主要是用來存取對(duì)象和數(shù)組元素;6、 ( ) ()主要是用作函數(shù)調(diào)用,或改變運(yùn)算的優(yōu)先級(jí)。5、 自加與自減自加和自減運(yùn)算符是一元運(yùn)算符,主要是對(duì)唯一的運(yùn)算數(shù)進(jìn)行自加或者自減操作。其使用規(guī)則主要包括以下兩點(diǎn):1、 運(yùn)算數(shù)必須是一個(gè)變量、數(shù)組的一個(gè)元素或者對(duì)象的屬性;2、 如果運(yùn)算數(shù)是非數(shù)值的,那么會(huì)自動(dòng)轉(zhuǎn)換成數(shù)值。當(dāng)然,自加與自減運(yùn)算符還有一些特性,比如,運(yùn)算符是前綴還是后綴,這將直接決定運(yùn)算的結(jié)果。如果是在運(yùn)算數(shù)的前面作為前綴的話,所實(shí)現(xiàn)的操作是先進(jìn)性自加或自減操作,然后再進(jìn)行求值;如果是在運(yùn)算數(shù)的后面作為后綴的話,其實(shí)現(xiàn)的操作是先求值后,再進(jìn)行自加或自減操作。6、 其他在JS中,其他的運(yùn)算符主要包括 ? : 、typeof、逗號(hào)和void。1、 ? :該運(yùn)算符是條件運(yùn)算符,其作用相當(dāng)于一個(gè)標(biāo)準(zhǔn)的雙分支結(jié)構(gòu);2、 typeof
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智慧農(nóng)業(yè)項(xiàng)目承包合同10篇
- 2025年度海參養(yǎng)殖基地環(huán)境保護(hù)與生態(tài)補(bǔ)償合同3篇
- 2025年度昌平區(qū)校園食堂承包項(xiàng)目競爭性磋商合同3篇
- 2025年度新能源汽車充電車位分期付款租賃合同4篇
- 2025年度現(xiàn)代化豬欄設(shè)施租賃合同3篇
- 2025年度商業(yè)物業(yè)承包經(jīng)營合同范本4篇
- 2025年度新能源汽車融資租賃合同范本3篇
- 2025年度寵物店寵物購買合同附寵物用品租賃服務(wù)合同3篇
- 2025年度海綿城市建設(shè)項(xiàng)目特許經(jīng)營合同3篇
- 2025年度商業(yè)步行街?jǐn)偽蛔赓U及商業(yè)管理合同4篇
- OQC培訓(xùn)資料教學(xué)課件
- 2024年8月CCAA國家注冊(cè)審核員OHSMS職業(yè)健康安全管理體系基礎(chǔ)知識(shí)考試題目含解析
- 體育賽事組織與實(shí)施操作手冊(cè)
- 2024年浙江省公務(wù)員考試結(jié)構(gòu)化面試真題試題試卷答案解析
- 2023年航空公司招聘:機(jī)場安檢員基礎(chǔ)知識(shí)試題(附答案)
- 皮膚儲(chǔ)存新技術(shù)及臨床應(yīng)用
- 外研版七年級(jí)英語上冊(cè)《閱讀理解》專項(xiàng)練習(xí)題(含答案)
- 《現(xiàn)在完成時(shí)》語法復(fù)習(xí)課件(共44張-)
- 二年級(jí)下冊(cè)語文《第3單元 口語交際:長大以后做什么》課件
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- 上海市復(fù)旦大學(xué)附中2024屆高考沖刺模擬數(shù)學(xué)試題含解析
評(píng)論
0/150
提交評(píng)論