




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章 表達(dá)式與操作符,本章結(jié)構(gòu),表達(dá)式 運(yùn)算符概述 算數(shù)運(yùn)算符 比較運(yùn)算符 邏輯運(yùn)算符 逐位運(yùn)算符 條件運(yùn)算符 其它運(yùn)算符,表達(dá)式,表達(dá)式是各種數(shù)值、變量、運(yùn)算符的綜合體,最簡單的表達(dá)式可以是常量或者變量名稱。 表達(dá)式的值是表達(dá)式運(yùn)算的結(jié)果,常量表達(dá)式的值就是常量本身,變量表達(dá)式的值則是變量引用的值。 在實(shí)際編程中,可以使用運(yùn)算數(shù)和運(yùn)算符建立復(fù)雜的表達(dá)式,運(yùn)算數(shù)是一個(gè)表達(dá)式內(nèi)的變量和常量,運(yùn)算符是表達(dá)式中用來處理運(yùn)算數(shù)的各種符號(hào)。 常量表達(dá)式:“skycobra” 變量表達(dá)式:example 賦值表達(dá)式:stringExample = “小郭”;,運(yùn)算符概述,運(yùn)算符的優(yōu)先級(jí) 如果表達(dá)式中存在
2、多個(gè)運(yùn)算符,那么它們總是按照一定的順序被執(zhí)行,表達(dá)式中運(yùn)算符的執(zhí)行順序被稱為運(yùn)算符的優(yōu)先級(jí)。 可以改變默認(rèn)的運(yùn)算順序,使之滿足需要,方法就是使用運(yùn)算符“()”,因?yàn)槔ㄌ?hào)運(yùn)算符的優(yōu)先級(jí)高于其他運(yùn)算符的優(yōu)先級(jí)。 優(yōu)先級(jí)見P44表3-1 運(yùn)算數(shù)的類型 不同運(yùn)算符對(duì)其處理的運(yùn)算數(shù)存在類型要求,例如不能將兩個(gè)由非數(shù)字字符組成的字符串進(jìn)行乘法運(yùn)算。 JavaScript會(huì)在運(yùn)算過程中,按需要自動(dòng)轉(zhuǎn)換運(yùn)算數(shù)的類型,例如由數(shù)字組成的字符串在進(jìn)行乘法運(yùn)算時(shí)將自動(dòng)轉(zhuǎn)換成數(shù)字。 運(yùn)算數(shù)的類型不一定與表達(dá)式的結(jié)果相同,例如比較表達(dá)式中的運(yùn)算數(shù)往往不是布爾型數(shù)據(jù),而返回結(jié)果總是布爾型數(shù)據(jù)。,運(yùn)算符概述,運(yùn)算符的類型 根
3、據(jù)運(yùn)算數(shù)的個(gè)數(shù),可以將運(yùn)算符分為三種類型:一元運(yùn)算符、二元運(yùn)算符和三元運(yùn)算符。 一元運(yùn)算符是指只需要一個(gè)運(yùn)算數(shù)參與運(yùn)算的運(yùn)算符,一元運(yùn)算符的典型應(yīng)用是取反運(yùn)算。 二元運(yùn)算符需要兩個(gè)運(yùn)算數(shù)參與運(yùn)算,JavaScript中的大部分運(yùn)算符都是二元運(yùn)算符,比如加法運(yùn)算符、比較運(yùn)算符等等。 JavaScript還支持三元運(yùn)算符“?:”,這種運(yùn)算符比較特殊,它可以將三個(gè)表達(dá)式合并為一個(gè)復(fù)雜的表達(dá)式。,算數(shù)運(yùn)算符,加法運(yùn)算符 二元運(yùn)算符,可以對(duì)數(shù)字型的運(yùn)算數(shù)進(jìn)行加法操作,如204+108; 減法運(yùn)算符 二元運(yùn)算符,可以對(duì)數(shù)字型運(yùn)算數(shù)進(jìn)行減法法操作,如204-108; 乘法運(yùn)算符 二元運(yùn)算符,可以對(duì)數(shù)字型運(yùn)算
4、數(shù)進(jìn)行乘法法操作。 如果運(yùn)算數(shù)不是數(shù)字型,那么JavaScript會(huì)將其自動(dòng)轉(zhuǎn)換為數(shù)字型,如果無法轉(zhuǎn)換為數(shù)字型,運(yùn)算結(jié)果將返回“NaN” 。 除法運(yùn)算符 二元運(yùn)算符,可以對(duì)數(shù)字型運(yùn)算數(shù)進(jìn)行除法法操作。運(yùn)算規(guī)則與乘法運(yùn)算類似。但是,如果除數(shù)為0,結(jié)果為“Infinity” 。,算數(shù)運(yùn)算符,模運(yùn)算符 又稱為取余數(shù)運(yùn)算符,用于計(jì)算第一個(gè)運(yùn)算數(shù)對(duì)第二個(gè)運(yùn)算數(shù)的模,也就是用第一個(gè)運(yùn)算數(shù)去除第二個(gè)運(yùn)算數(shù),獲取余數(shù)。 任何數(shù)字和字符對(duì)0取模,結(jié)果都是“NaN”;另外,如果運(yùn)算數(shù)中包含無法轉(zhuǎn)換成數(shù)字的內(nèi)容,運(yùn)算結(jié)果也是“NaN”。 增量運(yùn)算符 增量運(yùn)算符是一元操作符,可對(duì)運(yùn)算數(shù)進(jìn)行增量操作,增量為1。 增量運(yùn)
5、算數(shù)必須是變量、數(shù)組元素或者對(duì)象屬性,不能是常量。 增量運(yùn)算有兩種不同的形式:i+和+i。 減量運(yùn)算符 減量運(yùn)算符是一元操作符,可對(duì)運(yùn)算數(shù)進(jìn)行減量操作,減量為1。 減量運(yùn)算符的規(guī)則和形式可以參考增量運(yùn)算符。,比較運(yùn)算符,等于運(yùn)算符(=) 等于運(yùn)算符用于判斷兩個(gè)運(yùn)算數(shù)是否相等,如果相等返回true,如果不相等返回false。 如果被比較的運(yùn)算數(shù)是同類型的,那么等于運(yùn)算符將直接對(duì)運(yùn)算數(shù)進(jìn)行比較。 如果被比較的運(yùn)算數(shù)類型不同,那么等于運(yùn)算符在比較兩個(gè)運(yùn)算數(shù)之前會(huì)自動(dòng)對(duì)其進(jìn)行類型轉(zhuǎn)換。 兩個(gè)對(duì)象、數(shù)組或者函數(shù)的比較是引用內(nèi)容的比較,換句話說,只有兩個(gè)變量引用的是同一個(gè)對(duì)象、數(shù)組或者函數(shù)的時(shí)候,它們才是
6、相等的。 特殊值的比較,比較運(yùn)算符,嚴(yán)格等于運(yùn)算符(=) 嚴(yán)格等于運(yùn)算符(= = =)也是運(yùn)用判斷兩個(gè)運(yùn)算數(shù)是否相等,但是它在比較之前不會(huì)對(duì)運(yùn)算數(shù)的類型進(jìn)行自動(dòng)轉(zhuǎn)換。只有兩個(gè)運(yùn)算數(shù)在沒有進(jìn)行類型轉(zhuǎn)換前是相等的,它才會(huì)返回true,否則返回false。 嚴(yán)格不等于運(yùn)算符不進(jìn)行數(shù)據(jù)的類型轉(zhuǎn)換,所以不同類型的運(yùn)算數(shù)都是不相等的。例如:字符串“5”和數(shù)字5在等于運(yùn)算符判斷下是相同的,但在嚴(yán)格不等于運(yùn)算符判斷下就是不相同的。 特殊值的比較也發(fā)生了一些變化:在嚴(yán)格不等于運(yùn)算符的判斷下,null和未定義類型的數(shù)據(jù)不相等。,比較運(yùn)算符,不等于運(yùn)算符(!=) 不等于運(yùn)算符用于判斷兩個(gè)運(yùn)算數(shù)是否相等,相等返回fa
7、lse,不相等返回true 。 不等于運(yùn)算符和等于運(yùn)算符的數(shù)據(jù)類型轉(zhuǎn)換規(guī)則,對(duì)象、數(shù)組和函數(shù)的比較方法,以及特殊值的處理情況都可以參考等于運(yùn)算符的情況。 嚴(yán)格不等于運(yùn)算符(!=) 嚴(yán)格不等于運(yùn)算符與嚴(yán)格等于運(yùn)算符比較規(guī)則相反:如果兩個(gè)沒有經(jīng)過類型轉(zhuǎn)換的運(yùn)算數(shù)完全相等,返回false,否則返回true。 其他情況可以參看嚴(yán)格等于運(yùn)算符。,比較運(yùn)算符,小于運(yùn)算符() 小于運(yùn)算符用于比較兩個(gè)運(yùn)算數(shù),如果第一個(gè)運(yùn)算數(shù)小于第二個(gè)運(yùn)算數(shù),那么計(jì)算結(jié)果返回true,否則返回false。 運(yùn)算數(shù)可以是任何類型,但是比較運(yùn)算只能在數(shù)字和字符串上執(zhí)行,所以不是數(shù)字和字符類型的數(shù)據(jù)都會(huì)被轉(zhuǎn)換成這兩種類型。 如果兩個(gè)
8、運(yùn)算數(shù)是數(shù)字,或者都被轉(zhuǎn)換成數(shù)字,那么比較按照數(shù)字大小規(guī)則執(zhí)行。 如果兩個(gè)運(yùn)算數(shù)是字符串,或者都被轉(zhuǎn)換成字符串,那么比較按照字母順序規(guī)則執(zhí)行。 如果一個(gè)是字符串或者被轉(zhuǎn)換成字符串,一個(gè)是數(shù)字或者被轉(zhuǎn)換成數(shù)字,那么首先會(huì)將字符串轉(zhuǎn)換成數(shù)字,然后按照數(shù)字大小規(guī)則執(zhí)行比較。 如果運(yùn)算數(shù)中包含無法轉(zhuǎn)換成數(shù)字也無法轉(zhuǎn)換成字符串的內(nèi)容,那么比較結(jié)果將是false。,比較運(yùn)算符,小于等于運(yùn)算符() 大于運(yùn)算符用于比較兩個(gè)運(yùn)算數(shù),如果第一個(gè)運(yùn)算數(shù)大于第二個(gè)運(yùn)算數(shù),那么計(jì)算結(jié)果返回true,否則返回false。 大于等于運(yùn)算符(=) 大于等于運(yùn)算符用于比較兩個(gè)運(yùn)算數(shù),如果第一個(gè)運(yùn)算數(shù)大于等于第二個(gè)運(yùn)算數(shù),那么計(jì)
9、算結(jié)果返回true,否則返回false。 以上三種運(yùn)算符的其它規(guī)則可以參看小于運(yùn)算符,邏輯運(yùn)算符,邏輯與運(yùn)算符( m = n = 204; 帶操作的賦值運(yùn)算符 帶操作的賦值運(yùn)算符將簡單的賦值運(yùn)算符和其他一些運(yùn)算符結(jié)合在一起,提供了比較強(qiáng)大而簡便的運(yùn)算功能。 “sum += number等同于sum=sum+number,其它運(yùn)算符,條件運(yùn)算符(?:) 條件運(yùn)算符(?:)是一個(gè)三元運(yùn)算符,它有三個(gè)運(yùn)算數(shù),第一個(gè)運(yùn)算數(shù)是布爾型,通常由一個(gè)表達(dá)式計(jì)算而來,第二個(gè)和第三個(gè)運(yùn)算數(shù)可以是任意類型的數(shù)據(jù),或者任何形式的表達(dá)式。 條件運(yùn)算符的作用是:如果第一個(gè)運(yùn)算數(shù)為true,那么條件表達(dá)式的值就是第二個(gè)運(yùn)算
10、數(shù),如果第一個(gè)運(yùn)算數(shù)是false,那么條件表達(dá)式的值就是第三個(gè)參數(shù)。例如:x y ? x-y : y-x; 逗號(hào)運(yùn)算符(,) 逗號(hào)運(yùn)算符首先計(jì)算其左邊的值,然后計(jì)算其右邊的值,不過運(yùn)算的結(jié)果是舍棄逗號(hào)左邊的值,返回逗號(hào)右邊的值。例如:number = (2+5,4*6); 逗號(hào)運(yùn)算符還可以用于分隔變量,例如:var m=10, n=20;,其它運(yùn)算符,新建運(yùn)算符(new) 新建運(yùn)算符是一個(gè)一元運(yùn)算符,用于創(chuàng)建JavaScript對(duì)象實(shí)例,例如:var test = new Object(); 刪除運(yùn)算符(delete) 刪除運(yùn)算符用于刪除一個(gè)對(duì)象的屬性或者一個(gè)數(shù)組的某個(gè)元素,也可以用于取消它們
11、原有的定義。例如:delete arrayExample10 typeof運(yùn)算符 其運(yùn)算數(shù)可以是任意類型,運(yùn)算結(jié)果返回一個(gè)字符串,用于表示運(yùn)算數(shù)的類型。 void運(yùn)算符 void運(yùn)算符是一個(gè)一元運(yùn)算符,其作用是舍棄其運(yùn)算數(shù)的類型,然后返回一個(gè)未定義的值。,本章小結(jié),JavaScript中的表達(dá)式是各種數(shù)值、變量、運(yùn)算符的綜合體。 JavaScript中的運(yùn)算符用來對(duì)一個(gè)或者多個(gè)值進(jìn)行操作并產(chǎn)生單一的結(jié)果值。 根據(jù)運(yùn)算數(shù)的個(gè)數(shù),可以將JavaScript運(yùn)算符分為三種類型:一元運(yùn)算符、二元運(yùn)算符和三元運(yùn)算符。 JavaScript常用的運(yùn)算符有:算數(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、逐位運(yùn)算符、條件運(yùn)算符和賦值運(yùn)算符,另外還包括一些其他類型的運(yùn)算符,比如逗號(hào)運(yùn)算符、new運(yùn)算符、typeof運(yùn)算符等等。 不同運(yùn)算符對(duì)其處理的運(yùn)算數(shù)存在類型要求,而JavaSc
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購與供應(yīng)鏈協(xié)同創(chuàng)新模式重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 大數(shù)據(jù)地震預(yù)警系統(tǒng)安全重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 2025年證券從業(yè)資格證案例分享試題及答案
- 堅(jiān)持學(xué)習(xí)提升特許金融分析師考試能力的策略試題及答案
- 2025年注冊(cè)會(huì)計(jì)師考試審計(jì)風(fēng)格與技巧試題及答案
- 雙邊市場(chǎng)與證券投資分析的試題及答案
- 復(fù)習(xí)2025年特許金融分析師考試的重點(diǎn)內(nèi)容試題及答案
- 2025年注冊(cè)會(huì)計(jì)師考試信息披露規(guī)范與案例分析試題及答案
- 證券從業(yè)資格備考指南試題及答案
- 教學(xué)改革課題申報(bào)書范文
- 2023年初中生物競賽復(fù)賽試卷及答案
- (WORD版可修改)JGJ59-2023建筑施工安全檢查標(biāo)準(zhǔn)
- 工程造價(jià)畢業(yè)設(shè)計(jì)完整版
- DB37-T 5222-2022建筑施工懸挑腳手架安全技術(shù)與管理標(biāo)準(zhǔn)
- 市政道路投標(biāo)方案設(shè)計(jì)大綱
- 腸梗阻-PPT課件 (2)
- 報(bào)批稿20160301-浙江嘉化能源化工股份有限公司年產(chǎn)16萬噸多品種脂肪醇(酸)產(chǎn)品項(xiàng)目
- 教學(xué)資源庫建設(shè)方案-金融專業(yè)
- 鋁合金牌號(hào)對(duì)照
- C6-5-2設(shè)備單機(jī)試運(yùn)轉(zhuǎn)記錄
- 管道夜間施工方案
評(píng)論
0/150
提交評(píng)論