JavaScript 運算符參考手冊

JavaScript 運算符用于賦值、比較值、執行算術運算等。

另請參閱:

教程:JavaScript 運算符

教程:JavaScript 運算符優先級

JavaScript 算術運算符

算術運算符用于在變量和/或值之間執行算術。

給定 y = 5,下表解釋了算術運算符:

運算符 描述 例子 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 算術教程

JavaScript 賦值運算符

賦值運算符用于為 JavaScript 變量賦值。

給定 x = 10y = 5,下表解釋了賦值運算符:

運算符 例子 等同于 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 賦值教程

JavaScript 字符串運算符

+ 運算符和 += 運算符還可用于連接(添加)字符串。

給定 text1 = "Good "text2 = "Morning",以及 text3 = "",下表解釋了該運算符:

運算符 例子 text1 text2 text3 試一試
+ text3 = text1 + text2 "Good " "Morning" "Good Morning" 試一試
+= text1 += text2 "Good Morning" "Morning" "" 試一試

比較運算符

在邏輯語句中使用比較運算符來確定變量或值之間的相等性或差異。

給定 x = 5,下表解釋了比較運算符:

運算符 描述 比較 返回 試一試
== 等于 x == 8 false 試一試
x == 5 true 試一試
=== 相等值和相等類型 x === "5" false 試一試
x === 5 true 試一試
!= 不相等 x != 8 true 試一試
!== 不相等的值或不相等的類型 x !== "5" true 試一試
x !== 5 false 試一試
> 大于 x > 8 false 試一試
< 小于 x < 8 true 試一試
>= 大于或等于 x >= 8 false 試一試
<= 小于或等于 x <= 8 true 試一試

有關比較運算符的知識,請閱讀我們的 JavaScript 比較教程

條件(三元)運算符

條件運算符根據條件將值賦給變量。

語法

variablename = (condition) ? value1:value2

實例

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

親自試一試

例子解釋:

如果變量 "age" 的值小于 18,則變量 "voteable" 的值將為 "Too young",否則,"voteable" 的值將為 "Old enough"。

邏輯運算符

邏輯運算符用于確定變量或值之間的邏輯。

給定 x = 6y = 3,下表解釋了邏輯運算符:

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

JavaScript 位運算符

位運算符可處理 32 位數字。該運算中的任何數字操作數都將轉換為 32 位數字。結果將轉換回 JavaScript 數字。

運算符 描述 例子 等同于 結果 十進制
& 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

上面的例子使用了 4 位無符號的示例。但是 JavaScript 使用 32 位帶符號的數字。

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

~00000000000000000000000000000101 將返回 11111111111111111111111111111010

typeof 運算符

typeof 運算符返回變量、對象、函數或表達式的類型:

實例

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(如果未聲明 myCar)
typeof null                   // 返回 object

親自試一試

請注意:

  • NaN 的數據類型是 number
  • 數組的數據類型是 object
  • 日期的數據類型是 object
  • null 的數據類型是 object
  • 未定義變量的數據類型是 undefined

您不能使用 typeof 定義 JavaScript 對象是否為數組(或日期)。

您無法使用 typeof 來定義 JavaScript 對象是否為數組(或日期)。

delete 運算符

delete 運算符從對象中刪除屬性:

實例

var person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
delete person.age;   // 刪除 person["age"];

親自試一試

delete 運算符會同時刪除屬性的值和屬性本身。

刪除后,再次將其重新添加前,無法使用該屬性。

delete 運算符旨在用于對象屬性。它對變量或函數沒有影響。

注釋:不應在預定義的 JavaScript 對象屬性上使用 delete 運算符。這么做可能會使您的應用程序崩潰。

in 運算符

如果指定的屬性在指定的對象中,則 in 運算符將返回 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 是數組屬性)
// 對象
var person = {firstName:"Bill", lastName:"Gates", age:19};
"firstName" in person   // 返回 true
"age" in person         // 返回 true
// 預定義對象
"PI" in Math            // 返回 true
"NaN" in Number         // 返回 true
"length" in String      // 返回 true

親自試一試

instanceof 運算符

如果指定對象是指定對象的實例,則 instanceof 運算符返回 true:

實例

var cars = ["Saab", "Volvo", "BMW"];
cars instanceof Array;          // 返回 true
cars instanceof Object;         // 返回 true
cars instanceof String;         // 返回 false
cars instanceof Number;         // 返回 false

親自試一試

void 運算符

void 運算符計算一個表達式并返回 undefined。該運算符通常用于使用 "void(0)" 來獲取未定義的原始值(在計算表達式而不使用返回值時很有用)。

實例

<a href="javascript:void(0);">
  無用的鏈接
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
  單擊我將 body 的背景色更改為紅色
</a>

親自試一試