做自(zì)由與創造的先行者

JavaScript 運算(suàn)符

JavaScript中文(wén)手冊

JavaScript 運算(suàn)符用(yòng)于賦值、比較值、執行算(suàn)術運算(suàn)等。

JavaScript 算(suàn)術運算(suàn)符

算(suàn)術運算(suàn)符用(yòng)于在變量和(hé)/或值之間執行算(suàn)術。

給定 y = 5,下(xià)表解釋了(le)算(suàn)術運算(suàn)符:

運算(suàn)符 描述 例子 y 中的結果 x 中的結果
+ x = y + 2 y = 5 x = 7
- x = y - 2 y = 5 x = 3
* x = y * 2 y = 5 x = 10
/ x = y / 2 y = 5 x = 2.5
% 模數(除餘) x = y % 2 y = 5 x = 1
++ 累加 x = ++y y = 6 x = 6
x = y++ y = 6 x = 5
-- 遞減 x = --y y = 4 x = 4
x = y-- y = 4 x = 5

JavaScript 賦值運算(suàn)符

賦值運算(suàn)符用(yòng)于爲 JavaScript 變量賦值。

給定 x = 10 且 y = 5,下(xià)表解釋了(le)賦值運算(suàn)符:

運算(suàn)符 例子 等同于 x 中的結果
= x = y x = y x = 5
+= x += y x = x + y x = 15
-= x -= y x = x - y x = 5
*= x *= y x = x * y x = 50
/= x /= y x = x / y x = 2
%= x %= y x = x % y x = 0

JavaScript 字符串運算(suàn)符

+ 運算(suàn)符和(hé) += 運算(suàn)符還可用(yòng)于連接(添加)字符串。

給定 text1 = "Good "、text2 = "Morning",以及 text3 = "",下(xià)表解釋了(le)該運算(suàn)符:

運算(suàn)符 例子 text1 text2 text3
+ text3 = text1 + text2 "Good " "Morning" "Good Morning"
+= text1 += text2 "Good Morning" "Morning" ""

比較運算(suàn)符

在邏輯語句中使用(yòng)比較運算(suàn)符來(lái)确定變量或值之間的相等性或差異。

給定 x = 5,下(xià)表解釋了(le)比較運算(suàn)符:

運算(suàn)符 描述 比較 返回
== 等于 x == 8 false
x == 5 true
=== 相等值和(hé)相等類型 x === "5" false
x === 5 true
!= 不相等 x != 8 true
!== 不相等的值或不相等的類型 x !== "5" true
x !== 5 false
> 大(dà)于 x > 8 false
< 小(xiǎo)于 x < 8 true
>= 大(dà)于或等于 x >= 8 false
<= 小(xiǎo)于或等于 x <= 8 true

條件(三元)運算(suàn)符

條件運算(suàn)符根據條件将值賦給變量。

語法

variablename = (condition) ? value1:value2

實例

voteable = (age < 18) ? "Too young":"Old enough";

例子解釋:

如果變量 "age" 的值小(xiǎo)于 18,則變量 "voteable" 的值将爲 "Too young",否則,"voteable" 的值将爲 "Old enough"。

邏輯運算(suàn)符

邏輯運算(suàn)符用(yòng)于确定變量或值之間的邏輯。

給定 x = 6 且 y = 3,下(xià)表解釋了(le)邏輯運算(suàn)符:

運算(suàn)符 描述 例子
&& and (x < 10 && y > 1) is true
|| or (x === 5 || y === 5) is false
! not !(x === y) is true

JavaScript 位運算(suàn)符

位運算(suàn)符可處理(lǐ) 32 位數字。該運算(suàn)中的任何數字操作(zuò)數都将轉換爲 32 位數字。結果将轉換回 JavaScript 數字。

運算(suàn)符 描述 例子 等同于 結果 十進制
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~ 5 ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0100 4
<< Left shift x = 5 << 1 0101 << 1 1010 10
>> Right shift x = 5 >> 1 0101 >> 1 0010 2

上(shàng)面的例子使用(yòng)了(le) 4 位無符号的示例。但(dàn)是 JavaScript 使用(yòng) 32 位帶符号的數字。

因此,在 JavaScript 中,~ 5 不會(huì)返回 10,而是返回 -6。

~00000000000000000000000000000101 将返回 11111111111111111111111111111010

typeof 運算(suàn)符

typeof 運算(suàn)符返回變量、對(duì)象、函數或表達式的類型:

實例

typeof "Bill" // 返回 string

typeof 3.14 // 返回 number

typeof NaN // 返回 number

typeof false // 返回 boolean

typeof [1, 2, 3, 4] // 返回 object

typeof {name:'Bill', age:19} // 返回 object

typeof new Date() // 返回 object

typeof function () {} // 返回 function

typeof myCar // 返回 undefined(如果未聲明(míng) myCar)

typeof null // 返回 object

請(qǐng)注意:

NaN 的數據類型是 number

數組的數據類型是 object

日期的數據類型是 object

null 的數據類型是 object

未定義變量的數據類型是 undefined

您不能(néng)使用(yòng) typeof 定義 JavaScript 對(duì)象是否爲數組(或日期)。

您無法使用(yòng) typeof 來(lái)定義 JavaScript 對(duì)象是否爲數組(或日期)。

delete 運算(suàn)符

delete 運算(suàn)符從(cóng)對(duì)象中删除屬性:

實例

var person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};

delete person.age; // 删除 person["age"];

delete 運算(suàn)符會(huì)同時(shí)删除屬性的值和(hé)屬性本身。

删除後,再次将其重新添加前,無法使用(yòng)該屬性。

delete 運算(suàn)符旨在用(yòng)于對(duì)象屬性。它對(duì)變量或函數沒有影響。

注釋:不應在預定義的 JavaScript 對(duì)象屬性上(shàng)使用(yòng) delete 運算(suàn)符。這(zhè)麽做可能(néng)會(huì)使您的應用(yòng)程序崩潰。

in 運算(suàn)符

如果指定的屬性在指定的對(duì)象中,則 in 運算(suàn)符将返回 true,否則返回 false:

實例

// 數組

var cars = ["Saab", "Volvo", "BMW"];

"Saab" in cars // 返回 false(指定索引号而不是值)

0 in cars // 返回 true

1 in cars // 返回 true

4 in cars // 返回 false(不存在)

"length" in cars // 返回 true(length 是數組屬性)

// 對(duì)象

var person = {firstName:"Bill", lastName:"Gates", age:19};

"firstName" in person // 返回 true

"age" in person // 返回 true

// 預定義對(duì)象

"PI" in Math // 返回 true

"NaN" in Number // 返回 true

"length" in String // 返回 true

instanceof 運算(suàn)符

如果指定對(duì)象是指定對(duì)象的實例,則 instanceof 運算(suàn)符返回 true:

實例

var cars = ["Saab", "Volvo", "BMW"];

cars instanceof Array; // 返回 true

cars instanceof Object; // 返回 true

cars instanceof String; // 返回 false

cars instanceof Number; // 返回 false

void 運算(suàn)符

void 運算(suàn)符計(jì)算(suàn)一個表達式并返回 undefined。該運算(suàn)符通常用(yòng)于使用(yòng) "void(0)" 來(lái)獲取未定義的原始值(在計(jì)算(suàn)表達式而不使用(yòng)返回值時(shí)很(hěn)有用(yòng))。

實例

<a href="javascript:void(0);">

無用(yòng)的鏈接

</a>

<a href="javascript:void(document.body.style.backgroundColor='red');">

單擊我将 body 的背景色更改爲紅(hóng)色

</a>

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:JavaScript 語句
上(shàng)一篇:JavaScript 對(duì)象