JavaScript程序設計課件:第三章 表達式與操作符_第1頁
JavaScript程序設計課件:第三章 表達式與操作符_第2頁
JavaScript程序設計課件:第三章 表達式與操作符_第3頁
JavaScript程序設計課件:第三章 表達式與操作符_第4頁
JavaScript程序設計課件:第三章 表達式與操作符_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第三章 表達式與操作符,本章結構,表達式 運算符概述 算數運算符 比較運算符 邏輯運算符 逐位運算符 條件運算符 其它運算符,表達式,表達式是各種數值、變量、運算符的綜合體,最簡單的表達式可以是常量或者變量名稱。 表達式的值是表達式運算的結果,常量表達式的值就是常量本身,變量表達式的值則是變量引用的值。 在實際編程中,可以使用運算數和運算符建立復雜的表達式,運算數是一個表達式內的變量和常量,運算符是表達式中用來處理運算數的各種符號。 常量表達式:“skycobra” 變量表達式:example 賦值表達式:stringExample = “小郭”;,運算符概述,運算符的優(yōu)先級 如果表達式中存在

2、多個運算符,那么它們總是按照一定的順序被執(zhí)行,表達式中運算符的執(zhí)行順序被稱為運算符的優(yōu)先級。 可以改變默認的運算順序,使之滿足需要,方法就是使用運算符“()”,因為括號運算符的優(yōu)先級高于其他運算符的優(yōu)先級。 優(yōu)先級見P44表3-1 運算數的類型 不同運算符對其處理的運算數存在類型要求,例如不能將兩個由非數字字符組成的字符串進行乘法運算。 JavaScript會在運算過程中,按需要自動轉換運算數的類型,例如由數字組成的字符串在進行乘法運算時將自動轉換成數字。 運算數的類型不一定與表達式的結果相同,例如比較表達式中的運算數往往不是布爾型數據,而返回結果總是布爾型數據。,運算符概述,運算符的類型 根

3、據運算數的個數,可以將運算符分為三種類型:一元運算符、二元運算符和三元運算符。 一元運算符是指只需要一個運算數參與運算的運算符,一元運算符的典型應用是取反運算。 二元運算符需要兩個運算數參與運算,JavaScript中的大部分運算符都是二元運算符,比如加法運算符、比較運算符等等。 JavaScript還支持三元運算符“?:”,這種運算符比較特殊,它可以將三個表達式合并為一個復雜的表達式。,算數運算符,加法運算符 二元運算符,可以對數字型的運算數進行加法操作,如204+108; 減法運算符 二元運算符,可以對數字型運算數進行減法法操作,如204-108; 乘法運算符 二元運算符,可以對數字型運算

4、數進行乘法法操作。 如果運算數不是數字型,那么JavaScript會將其自動轉換為數字型,如果無法轉換為數字型,運算結果將返回“NaN” 。 除法運算符 二元運算符,可以對數字型運算數進行除法法操作。運算規(guī)則與乘法運算類似。但是,如果除數為0,結果為“Infinity” 。,算數運算符,模運算符 又稱為取余數運算符,用于計算第一個運算數對第二個運算數的模,也就是用第一個運算數去除第二個運算數,獲取余數。 任何數字和字符對0取模,結果都是“NaN”;另外,如果運算數中包含無法轉換成數字的內容,運算結果也是“NaN”。 增量運算符 增量運算符是一元操作符,可對運算數進行增量操作,增量為1。 增量運

5、算數必須是變量、數組元素或者對象屬性,不能是常量。 增量運算有兩種不同的形式:i+和+i。 減量運算符 減量運算符是一元操作符,可對運算數進行減量操作,減量為1。 減量運算符的規(guī)則和形式可以參考增量運算符。,比較運算符,等于運算符(=) 等于運算符用于判斷兩個運算數是否相等,如果相等返回true,如果不相等返回false。 如果被比較的運算數是同類型的,那么等于運算符將直接對運算數進行比較。 如果被比較的運算數類型不同,那么等于運算符在比較兩個運算數之前會自動對其進行類型轉換。 兩個對象、數組或者函數的比較是引用內容的比較,換句話說,只有兩個變量引用的是同一個對象、數組或者函數的時候,它們才是

6、相等的。 特殊值的比較,比較運算符,嚴格等于運算符(=) 嚴格等于運算符(= = =)也是運用判斷兩個運算數是否相等,但是它在比較之前不會對運算數的類型進行自動轉換。只有兩個運算數在沒有進行類型轉換前是相等的,它才會返回true,否則返回false。 嚴格不等于運算符不進行數據的類型轉換,所以不同類型的運算數都是不相等的。例如:字符串“5”和數字5在等于運算符判斷下是相同的,但在嚴格不等于運算符判斷下就是不相同的。 特殊值的比較也發(fā)生了一些變化:在嚴格不等于運算符的判斷下,null和未定義類型的數據不相等。,比較運算符,不等于運算符(!=) 不等于運算符用于判斷兩個運算數是否相等,相等返回fa

7、lse,不相等返回true 。 不等于運算符和等于運算符的數據類型轉換規(guī)則,對象、數組和函數的比較方法,以及特殊值的處理情況都可以參考等于運算符的情況。 嚴格不等于運算符(!=) 嚴格不等于運算符與嚴格等于運算符比較規(guī)則相反:如果兩個沒有經過類型轉換的運算數完全相等,返回false,否則返回true。 其他情況可以參看嚴格等于運算符。,比較運算符,小于運算符() 小于運算符用于比較兩個運算數,如果第一個運算數小于第二個運算數,那么計算結果返回true,否則返回false。 運算數可以是任何類型,但是比較運算只能在數字和字符串上執(zhí)行,所以不是數字和字符類型的數據都會被轉換成這兩種類型。 如果兩個

8、運算數是數字,或者都被轉換成數字,那么比較按照數字大小規(guī)則執(zhí)行。 如果兩個運算數是字符串,或者都被轉換成字符串,那么比較按照字母順序規(guī)則執(zhí)行。 如果一個是字符串或者被轉換成字符串,一個是數字或者被轉換成數字,那么首先會將字符串轉換成數字,然后按照數字大小規(guī)則執(zhí)行比較。 如果運算數中包含無法轉換成數字也無法轉換成字符串的內容,那么比較結果將是false。,比較運算符,小于等于運算符() 大于運算符用于比較兩個運算數,如果第一個運算數大于第二個運算數,那么計算結果返回true,否則返回false。 大于等于運算符(=) 大于等于運算符用于比較兩個運算數,如果第一個運算數大于等于第二個運算數,那么計

9、算結果返回true,否則返回false。 以上三種運算符的其它規(guī)則可以參看小于運算符,邏輯運算符,邏輯與運算符( m = n = 204; 帶操作的賦值運算符 帶操作的賦值運算符將簡單的賦值運算符和其他一些運算符結合在一起,提供了比較強大而簡便的運算功能。 “sum += number等同于sum=sum+number,其它運算符,條件運算符(?:) 條件運算符(?:)是一個三元運算符,它有三個運算數,第一個運算數是布爾型,通常由一個表達式計算而來,第二個和第三個運算數可以是任意類型的數據,或者任何形式的表達式。 條件運算符的作用是:如果第一個運算數為true,那么條件表達式的值就是第二個運算

10、數,如果第一個運算數是false,那么條件表達式的值就是第三個參數。例如:x y ? x-y : y-x; 逗號運算符(,) 逗號運算符首先計算其左邊的值,然后計算其右邊的值,不過運算的結果是舍棄逗號左邊的值,返回逗號右邊的值。例如:number = (2+5,4*6); 逗號運算符還可以用于分隔變量,例如:var m=10, n=20;,其它運算符,新建運算符(new) 新建運算符是一個一元運算符,用于創(chuàng)建JavaScript對象實例,例如:var test = new Object(); 刪除運算符(delete) 刪除運算符用于刪除一個對象的屬性或者一個數組的某個元素,也可以用于取消它們

11、原有的定義。例如:delete arrayExample10 typeof運算符 其運算數可以是任意類型,運算結果返回一個字符串,用于表示運算數的類型。 void運算符 void運算符是一個一元運算符,其作用是舍棄其運算數的類型,然后返回一個未定義的值。,本章小結,JavaScript中的表達式是各種數值、變量、運算符的綜合體。 JavaScript中的運算符用來對一個或者多個值進行操作并產生單一的結果值。 根據運算數的個數,可以將JavaScript運算符分為三種類型:一元運算符、二元運算符和三元運算符。 JavaScript常用的運算符有:算數運算符、比較運算符、邏輯運算符、逐位運算符、條件運算符和賦值運算符,另外還包括一些其他類型的運算符,比如逗號運算符、new運算符、typeof運算符等等。 不同運算符對其處理的運算數存在類型要求,而JavaSc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論