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

