- JavaScript從入門到精通(第3版)
- 明日科技
- 1611字
- 2020-03-20 10:37:29
2.3 運算符
運算符是完成一系列運算操作的符號,本節將介紹JavaScript的運算符。JavaScript中的運算符按操作數可以分為單目運算符、雙目運算符和多目運算符3種;按運算符類型可以分為算術運算符、比較運算符、賦值運算符、字符串運算符、邏輯運算符和條件運算符等。
2.3.1 算術運算符
算術運算符用于在程序中進行加、減、乘、除等運算。在JavaScript中常用的算術運算符如表2.3所示。
表2.3 JavaScript中的算術運算符

【例2.2】 通過JavaScript在頁面中定義變量,再通過算術運算符計算變量的運行結果。(實例位置:資源包\TM\sl\2\02)

運行結果如圖2.2所示。

圖2.2 在頁面中計算兩個變量的算術運算結果
2.3.2 比較運算符
比較運算的基本操作過程是:首先對兩個操作數進行比較(該操作數可以是數字也可以是字符串),然后返回一個布爾值true或false。在JavaScript中常用的比較運算符如表2.4所示。
表2.4 JavaScript中的比較運算符

【例2.3】 應用比較運算符比較兩個數值的大小。(實例位置:資源包\TM\sl\2\03)

運行結果如圖2.3所示。

圖2.3 比較運算符的使用
2.3.3 賦值運算符
JavaScript中的賦值運算分為兩種:簡單賦值運算和復合賦值運算。簡單賦值運算是將賦值運算符(=)右邊表達式的值保存到左邊的變量中;而復合賦值運算混合了其他操作(如算術運算操作、位操作等)和賦值操作,例如:
sum+=i; //等同于sum=sum+i;
JavaScript中的賦值運算符如表2.5所示。
表2.5 JavaScript中的賦值運算符

2.3.4 字符串運算符
字符串運算符用于兩個字符型數據之間的運算。除了比較運算符外,還包括“+”和“+=”運算符。其中,“+”運算符用于連接兩個字符串,“+=”運算符用于連接兩個字符串并將結果賦給第一個字符串。表2.6給出了JavaScript中的字符串運算符。
表2.6 JavaScript中的字符串運算符

【例2.4】 在網頁中彈出一個提示對話框,顯示字符串運算后變量的值:(實例位置:資源包\TM\sl\2\04)

運行代碼,結果如圖2.4所示。

圖2.4 字符串相連
2.3.5 邏輯運算符
在JavaScript中增加了幾個邏輯運算符,常用的邏輯運算符如表2.7所示。
表2.7 常用邏輯運算符

2.3.6 條件運算符
條件運算符是JavaScript支持的一種特殊的三目運算符,其語法格式如下:
操作數?結果1:結果2
如果“操作數”的值為true,則整個表達式的結果為“結果1”,否則為“結果2”。
例如,定義兩個變量,值都為10,然后判斷兩個變量是否相等,如果相等則返回“正確”,否則返回“錯誤”。代碼如下:

2.3.7 其他運算符
1.位運算符
位運算符分為兩種,一種是普通位運算符,另一種是位移運算符。在進行運算前,先將操作數轉換為32位的二進制整數,然后進行相關運算,最后的輸出結果以十進制表示。位運算符可對數值的位進行操作,如向左或向右移位等。JavaScript中常用的位運算符如表2.8所示。
表2.8 位操作運算符

2.typeof運算符
typeof運算符用于返回操作數當前所容納的數據的類型。這對于判斷一個變量是否已被定義特別有用。
【例2.5】 下面應用typeof運算符返回當前所容納的數據類型。(實例位置:資源包\TM\sl\2\05)
代碼如下:

運行結果如圖2.5所示。

圖2.5 運行結果
說明
typeof運算符把類型信息當作字符串返回。其返回值有6種可能:number、string、boolean、object、function和undefined。
3.new運算符
通過new運算符可創建一個新對象。
語法格式:
new constructor[(arguments)]
參數說明:
constructor:必選項,對象的構造函數。如果構造函數沒有參數,則可以省略圓括號。
arguments:可選項,任意傳遞給新對象構造函數的參數。
例如,應用new運算符來創建新對象,代碼如下:
Object1 = new Object; Array2 = new Array(); Date3 = new Date("August 8 2019");
2.3.8 運算符優先級
JavaScript運算符有著明確的優先級與結合性。優先級較高的運算符將先于優先級較低的運算符進行運算,結合性則是指具有同等優先級的運算符將按照怎樣的順序進行運算。結合性分為向左結合和向右結合兩種。例如表達式“a+b+c”,向左結合意味著先計算a+b,整個計算過程為(a+b)+c;向右結合意味著先計算b+c,整個計算過程為a+(b+c)。JavaScript運算符的優先級與結合性如表2.9所示。
表2.9 JavaScript運算符的優先級與結合性

【例2.6】 優先級的使用。(實例位置:資源包\TM\sl\2\06)
本實例使用“()”來改變運算的優先級。表達式a=1+2*3的結果為7,因為乘法的優先級比加法的優先級高,將被優先運行。通過括號“()”改變運算符的優先級之后,括號內的表達式將被優先執行,所以表達式b=(1+2)*3的結果為9。代碼如下:

運行結果如圖2.6所示。

圖2.6 運行結果
- C++ Primer習題集(第5版)
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- Game Programming Using Qt Beginner's Guide
- 深入淺出Windows API程序設計:編程基礎篇
- Mastering Kali Linux for Web Penetration Testing
- 鋒利的SQL(第2版)
- 從零開始學C語言
- Java高并發核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- C++反匯編與逆向分析技術揭秘(第2版)
- JavaScript Unit Testing
- The Applied Data Science Workshop
- 程序員超強大腦
- iOS應用逆向工程:分析與實戰
- Java王者歸來:從入門邁向高手
- 信息安全技術(第2版)