官术网_书友最值得收藏!

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 運行結果

主站蜘蛛池模板: 忻州市| 蓝山县| 和田市| 阳原县| 内江市| 边坝县| 和龙市| 乐山市| 璧山县| 塘沽区| 博野县| 娱乐| 肃南| 明星| 青海省| 大新县| 河南省| 安西县| 盐津县| 平南县| 遂昌县| 崇明县| 夏河县| 曲阜市| 左云县| 长白| 弋阳县| 鹤庆县| 曲沃县| 思南县| 木兰县| 新泰市| 建德市| 马龙县| 邯郸市| 平陆县| 宜兴市| 吉安县| 旺苍县| 洱源县| 萨嘎县|