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)發