JavaScript 入門·JavaScript 具有全範圍的運算子

來源:互聯網
上載者:User

複合賦值運算子
運算子 符號
加法 +=
按位與 &=
按位或 |=
按位異或 ^=
除法 /=
左移 <<=
模數 %=
乘法 *=
右移 >>=
減法 -=
無符號右移 >>>=

要求

版本資訊

條件(三目)運算子 (?:)

根據條件執行兩個語句中的其中一個。

test ? 語句1 : 語句2

參數

test

任何 Boolean 運算式。

語句1

testtrue 時執行的語句。可以是複合陳述式。

語句2

testfalse 時執行的語句。可以是複合陳述式。

說明

?: 運算子是 if...else 語句的捷徑。它通常被用作較大運算式的一部分,而在此處使用 if...else 語句是不協調的。例如:

var now = new Date();var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");

在該例子中,如果是 6pm 以後,則建立一個包含 "Good evening." 的字串。使用 if...else 語句的等效代碼如下:

var now = new Date();var greeting = "Good";if (now.getHours() > 17)   greeting += " evening.";else   greeting += " day.";
要求

版本 1

請參閱

if...else 語句 | 運算子優先順序 | 運算子總結

delete 運算子

從對象中刪除一個屬性,或從數組中刪除一個元素。

delete expression

expression 參數是一個有效 JScript 運算式,通常是一個屬性名稱或數組元素。

說明

如果 expression 的結果是一個對象,且在 expression 中指定的屬性存在,而該對象又不允許它被刪除,則返回 false

在所有其他情況下,返回 true

要求

版本 3

請參閱

運算子優先順序 | 運算子總結

除法賦值運算子 (/=)

變數值除以運算式值,並將結果賦給該變數。

result /= expression

參數

result

任何數值變數。

expression

任何數值運算式。

說明

使用 /= 運算子和使用下面的語句是等效的:

result = result / expression
要求

版本 1

請參閱

/ 運算子 | 運算子優先順序 | 運算子總結

除法運算子 (/)

將兩個運算式的值相除。

result = number1 / number2

參數

result

任何數值變數。

number1

任何數值運算式。

number2

任何數值運算式。

要求

版本 1

請參閱

/= 運算子 | 運算子優先順序 | 運算子總結

in 運算子

測試對象中是否存在該屬性。

result = property in object

參數

result

必選項。任意變數。

property

必選項。相當於字串運算式的一個運算式。

object

必選項。任意對象。

說明

in 操作檢查對象中是否有名為 property 的屬性。也可以檢查對象的原型,以便知道該屬性是否為原型鏈的一部分。

要求

版本 1

請參閱

運算子優先順序 | 運算子總結

遞增 (++) 和遞減 (--) 運算子

變數值遞增一或遞減一。

文法 1

result = ++variable
result = --variable
result = variable++

result = variable--

文法 2

++variable
--variable
variable++

variable--

參數

result

任何變數。

variable

任何變數。

說明

遞增和遞減運算子,是修改存在變數中的值的捷徑。包含其中一個這種運算子的運算式的值,依賴於該運算子是在變數前面還是在變數後面:

var j, k;k = 2;j = ++k;

因為遞增發生在運算式被求值前,所以值 3 賦給了 j

和下面的例子對照:

var j, k;k = 2;j = k++;

在此,因為遞增發生在運算式被求值後,所以值 2 賦給了 j。

JavaScript 具有全範圍的運算子,包括算術、邏輯、位以及賦值運算子。此外還有其他一些運算子。

計算 邏輯 位元運算 賦值 雜項
描述 符號
負值 -
邏輯非 !
按位取反 ~
賦值 =
刪除 delete
遞增 ++
小於 <
按位左移 <<
運算賦值 oP= typeof
運算子
遞減 --
大於 >
按位右移 >>
void 運算子 void
乘法 *
小於等於 <=
無符號右移 >>>
除法 /
大於等於 >=
按位與 &
模數運算 %
等於 ==
按位異或 ^
加法 +
不等於 !=
按位或 |
減法 -
邏輯與 &&
邏輯或 ||
條件(三元運算子) ?:
逗號 ,
恒等 ===
不恒等 !==

運算子優先極
JavaScript 中的運算子是按照一個特定的順序來求值的。這個順序就是運算子的優先順序。下表按從最高到最低的優先順序列出了這些運算子。處於同一行中的運算子按從左至右的順序求值。

運算子 描述
. [] () 欄位訪問、數組下標以及函數調用
++ -- - ~ ! typeof new void delete 一元運算子、返回資料類型、對象建立、未定義值
* / % 乘法、除法、模數
+ - + 加法、減法、字串串連
<< >> >>> 移位
< <= > >= 小於、小於等於、大於、大於等於
= != === !== 等於、不等於、恒等、不恒等
& 按位與
^ 按位異或
| 按位或
&& 邏輯與
|| 邏輯或
?: 條件
= oP= 賦值、運算賦值
, 多重求值

圓括弧可用來改變求值順序。圓括弧中的運算式應在其用於語句的其餘部分之前全部被求值。

具有較高優先順序的運算子將在具有較低優先順序的運算子之前被求值。例如:

z = 78 * (96 + 3 + 45)

在該運算式中有五個運算子: =, *, (), +, 以及 +。根據優先順序,它們將按下面的順序求值: (), *, +, +, =。

首先對圓括弧內的運算式求值:其中有兩個加法運算子,它們具有相同的優先順序:96 和 3 相加,然後再將它們的和與 45 相加,得到的結果為 144。
然後是乘法運算: 78 和 144 相乘,得到結果為 11232。
最後是賦值運算:將 11232 賦給 z。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.