JavaScript 入門·JavaScript 具有全范圍的運算符
復(fù)合賦值運算符
| 運算符 | 符號 |
|---|---|
| 加法 | += |
| 按位與 | &= |
| 按位或 | |= |
| 按位異或 | ^= |
| 除法 | /= |
| 左移 | <<= |
| 取模 | %= |
| 乘法 | *= |
| 右移 | >>= |
| 減法 | -= |
| 無符號右移 | >>>= |
要求
版本信息
條件(三目)運算符 (?:)
根據(jù)條件執(zhí)行兩個語句中的其中一個。
test ? 語句1 : 語句2
參數(shù)
test
任何 Boolean 表達(dá)式。
語句1
當(dāng) test 是 true 時執(zhí)行的語句??梢允菑?fù)合語句。
語句2
當(dāng) test 是 false 時執(zhí)行的語句??梢允菑?fù)合語句。
說明
?: 運算符是 if...else 語句的快捷方式。它通常被用作較大表達(dá)式的一部分,而在此處使用 if...else 語句是不協(xié)調(diào)的。例如:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
在該例子中,如果是 6pm 以后,則創(chuàng)建一個包含 "Good evening." 的字符串。使用 if...else 語句的等效代碼如下:
var now = new Date(); var greeting = "Good"; if (now.getHours() > 17)greeting += " evening.";elsegreeting += " day.";
要求
版本 1
請參閱
if...else 語句 | 運算符優(yōu)先級 | 運算符總結(jié)
delete 運算符
從對象中刪除一個屬性,或從數(shù)組中刪除一個元素。
delete expression
expression 參數(shù)是一個有效的 JScript 表達(dá)式,通常是一個屬性名或數(shù)組元素。
說明
如果 expression 的結(jié)果是一個對象,且在 expression 中指定的屬性存在,而該對象又不允許它被刪除,則返回 false。
在所有其他情況下,返回 true。
要求
版本 3
請參閱
運算符優(yōu)先級 | 運算符總結(jié)
除法賦值運算符 (/=)
變量值除以表達(dá)式值,并將結(jié)果賦給該變量。
result /= expression
參數(shù)
result
任何數(shù)值變量。
expression
任何數(shù)值表達(dá)式。
說明
使用 /= 運算符和使用下面的語句是等效的:
result = result / expression
要求
版本 1
請參閱
/ 運算符 | 運算符優(yōu)先級 | 運算符總結(jié)
除法運算符 (/)
將兩個表達(dá)式的值相除。
result = number1 / number2
參數(shù)
result
任何數(shù)值變量。
number1
任何數(shù)值表達(dá)式。
number2
任何數(shù)值表達(dá)式。
要求
版本 1
請參閱
/= 運算符 | 運算符優(yōu)先級 | 運算符總結(jié)
in 運算符
測試對象中是否存在該屬性。
result = property in object
參數(shù)
result
必選項。任意變量。
property
必選項。相當(dāng)于字符串表達(dá)式的一個表達(dá)式。
object
必選項。任意對象。
說明
in 操作檢查對象中是否有名為 property 的屬性。也可以檢查對象的原型,以便知道該屬性是否為原型鏈的一部分。
要求
版本 1
請參閱
運算符優(yōu)先級 | 運算符總結(jié)
遞增 (++) 和遞減 (--) 運算符
變量值遞增一或遞減一。
語法 1
result = ++variable
result = --variable
result = variable++result = variable--
語法 2
++variable
--variable
variable++variable--
參數(shù)
result
任何變量。
variable
任何變量。
說明
遞增和遞減運算符,是修改存在變量中的值的快捷方式。包含其中一個這種運算符的表達(dá)式的值,依賴于該運算符是在變量前面還是在變量后面:
var j, k;
k = 2;
j = ++k;
因為遞增發(fā)生在表達(dá)式被求值前,所以值 3 賦給了 j。
和下面的例子對照:
var j, k;
k = 2;
j = k++;
在此,因為遞增發(fā)生在表達(dá)式被求值后,所以值 2 賦給了 j。
JavaScript 具有全范圍的運算符,包括算術(shù)、邏輯、位以及賦值運算符。此外還有其他一些運算符。
計算 邏輯 位運算 賦值 雜項
描述 符號
負(fù)值 -
邏輯非 !
按位取反 ~
賦值 =
刪除 delete
遞增 ++
小于 <
按位左移 <<
運算賦值 oP= typeof
運算符
遞減 --
大于 >
按位右移 >>
void 運算符 void
乘法 *
小于等于 <=
無符號右移 >>>
除法 /
大于等于 >=
按位與 &
取模運算 %
等于 ==
按位異或 ^
加法 +
不等于 !=
按位或 |
減法 -
邏輯與 &&
邏輯或 ||
條件(三元運算符) ?:
逗號 ,
恒等 ===
不恒等 !==
運算符優(yōu)先極
JavaScript 中的運算符是按照一個特定的順序來求值的。這個順序就是運算符的優(yōu)先級。下表按從最高到最低的優(yōu)先級列出了這些運算符。處于同一行中的運算符按從左至右的順序求值。
運算符 描述
. [] () 字段訪問、數(shù)組下標(biāo)以及函數(shù)調(diào)用
++ -- - ~ ! typeof new void delete 一元運算符、返回數(shù)據(jù)類型、對象創(chuàng)建、未定義值
* / % 乘法、除法、取模
+ - + 加法、減法、字符串連接
<< >> >>> 移位
< <= > >= 小于、小于等于、大于、大于等于
= != === !== 等于、不等于、恒等、不恒等
& 按位與
^ 按位異或
| 按位或
&& 邏輯與
|| 邏輯或
?: 條件
= oP= 賦值、運算賦值
, 多重求值
圓括號可用來改變求值順序。圓括號中的表達(dá)式應(yīng)在其用于語句的其余部分之前全部被求值。
具有較高優(yōu)先級的運算符將在具有較低優(yōu)先級的運算符之前被求值。例如:
z = 78 * (96 + 3 + 45)
在該表達(dá)式中有五個運算符: =, *, (), +, 以及 +。根據(jù)優(yōu)先級,它們將按下面的順序求值: (), *, +, +, =。
首先對圓括號內(nèi)的表達(dá)式求值:其中有兩個加法運算符,它們具有相同的優(yōu)先級:96 和 3 相加,然后再將它們的和與 45 相加,得到的結(jié)果為 144。
然后是乘法運算: 78 和 144 相乘,得到結(jié)果為 11232。
最后是賦值運算:將 11232 賦給 z。
相關(guān)文章
JavaScript對內(nèi)存分配及管理機(jī)制詳細(xì)解析
本文主要講述了JavaScript的垃圾回收原理和具體的過程。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11
JavaScript高級程序設(shè)計(第3版)學(xué)習(xí)筆記11 內(nèi)建js對象
內(nèi)建對象是指由ECMAScript實現(xiàn)提供的、不依賴于宿主環(huán)境的對象,這些對象在程序運行之前就已經(jīng)存在了2012-10-10
深入理解JavaScript系列(25):設(shè)計模式之單例模式詳解
這篇文章主要介紹了深入理解JavaScript系列(25):設(shè)計模式之單例模式詳解,本文給出了多種單例模式的實現(xiàn)方式,需要的朋友可以參考下2015-03-03
js鼠標(biāo)點擊事件在各個瀏覽器中的寫法及Event對象屬性介紹
各個主流瀏覽器德鼠標(biāo)點擊事件,方便使用時查詢,整理還算是很詳細(xì)吧,感興趣的你可以參考下啊,希望本文對你有所幫助2013-01-01
javascript小數(shù)四舍五入多種方法實現(xiàn)
javascript小數(shù)四舍五入在工作中經(jīng)常會使用到,今天本文整理了一些常用的小竅門,需要了解的朋友可以參考下2012-12-12
javascript 打開頁面window.location和window.open的區(qū)別
有時候需要用js來實現(xiàn)頁面的打開,因為js下有window.location和window.open的不同實現(xiàn)方法,下面來簡單的說明下區(qū)別。2010-03-03

