Reference Manual ng JavaScript Operator

JavaScript 运算符用于赋值、比较值、执行算术运算等。

另请参阅:

教程:JavaScript Operator

教程:Prioridad ng Operator ng JavaScript

JavaScript 算术运算符

算术运算符用于在变量和/或值之间执行算术。

Dati y = 5,下表解释了算术运算符:

运算符 描述 例子 y 中的结果 x 中的结果 Subukan mo ito
+ x = y + 2 y = 5 x = 7 Subukan mo ito
- x = y - 2 y = 5 x = 3 Subukan mo ito
* x = y * 2 y = 5 x = 10 Subukan mo ito
/ x = y / 2 y = 5 x = 2.5 Subukan mo ito
% 模数(除余) x = y % 2 y = 5 x = 1 Subukan mo ito
++ 累加 x = ++y y = 6 x = 6 Subukan mo ito
x = y++ y = 6 x = 5 Subukan mo ito
-- 递减 x = --y y = 4 x = 4 Subukan mo ito
x = y-- y = 4 x = 5 Subukan mo ito

有关算术运算符的知识,请阅读我们的 JavaScript 算术教程.

JavaScript 赋值运算符

赋值运算符用于为 JavaScript 变量赋值。

Dati x = 10 at y = 5,下表解释了赋值运算符:

运算符 例子 等同于 x 中的结果 Subukan mo ito
= x = y x = y x = 5 Subukan mo ito
+= x += y x = x + y x = 15 Subukan mo ito
-= x -= y x = x - y x = 5 Subukan mo ito
*= x *= y x = x * y x = 50 Subukan mo ito
/= x /= y x = x / y x = 2 Subukan mo ito
%= x %= y x = x % y x = 0 Subukan mo ito

有关赋值运算符的知识,请阅读我们的 JavaScript 赋值教程.

JavaScript 字符串运算符

+ 运算符和 += 运算符还可用于连接(添加)字符串。

Dati text1 = "Good "text2 = "Morning",以及 text3 = "",下表解释了该运算符:

运算符 例子 text1 text2 text3 Subukan mo ito
+ text3 = text1 + text2 "Good " "Morning" "Good Morning" Subukan mo ito
+= text1 += text2 "Good Morning" "Morning" "" Subukan mo ito

比较运算符

在逻辑语句中使用比较运算符来确定变量或值之间的相等性或差异。

Dati x = 5,下表解释了比较运算符:

运算符 描述 比较 返回 Subukan mo ito
== 等于 x == 8 false Subukan mo ito
x == 5 true Subukan mo ito
=== 相等值和相等类型 x === "5" false Subukan mo ito
x === 5 true Subukan mo ito
!== 不相等 x != 8 true Subukan mo ito
!== Values or types that are not equal x !== "5" true Subukan mo ito
x !== 5 false Subukan mo ito
> Greater than x > 8 false Subukan mo ito
< Less than x < 8 true Subukan mo ito
>= Greater than or equal to x >= 8 false Subukan mo ito
<= Less than or equal to x <= 8 true Subukan mo ito

Para sa kaalaman sa comparison operator, basahin ang aming JavaScript Comparison Tutorial.

Conditional (ternary) operator

Ang conditional operator ay magpapako ng halaga sa variable ayon sa kondisyon.

Grammar

variablename = (condition) ? value1:value2

Eliptikong

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

Try It Yourself

Paliwanag ng halimbawa:

Kung ang halaga ng variable "age" ay mas mababa sa 18, ang halaga ng variable "voteable" ay magiging "Too young", kung hindi, ang halaga ng "voteable" ay magiging "Old enough".

Logic operator

Ang logic operator ay ginagamit upang matukoy ang logic sa pagitan ng variable o value.

Dati x = 6 at y = 3Ang sumusunod na talahanan ay nagpapaliwanag ng logic operator:

运算符 描述 例子 Subukan mo ito
&& and (x < 10 && y > 1) is true Subukan mo ito
|| or (x === 5 || y === 5) is false Subukan mo ito
! not !(x === y) is true Subukan mo ito

JavaScript 位运算符

Ang bit operator ay maaaring magtrabaho sa 32-bit na numero. Ang anumang numero na ginamit sa operasyon ay magiging 32-bit na numero. Ang resulta ay magiging JavaScript na numero.

运算符 描述 例子 等同于 结果 十进制
& 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

Ang paggamit ng halimbawa ay gumagamit ng 4-digit na unsigned na halimbawa. Subalit gumagamit ang JavaScript ng 32-bit na may sign na numero.

Kaya, sa JavaScript, ~ 5 ay hindi magbibigay ng 10, kundi -6.

~00000000000000000000000000000101 ay magbabalik 11111111111111111111111111111010

Ang operator na typeof

typeof Ang operator na typeof ay nagbabalik ng uri ng variable, objekto, function o expression:

Eliptikong

typeof "Bill"                 // ibabalik string
typeof 3.14                   // ibabalik number
typeof NaN                    // ibabalik number
typeof false                  // ibabalik boolean
typeof [1, 2, 3, 4]           // ibabalik object
typeof {name:'Bill', age:19}  // ibabalik object
typeof new Date()             // ibabalik object
typeof function () {}         // ibabalik function
typeof myCar                  // ibabalik undefined (kung hindi ito ay idedeklara na myCar)
typeof null                   // ibabalik object

Try It Yourself

Puwede mong pansinin:

  • Ang datos ng NaN ay number.
  • Ang datos ng array ay object.
  • Ang datos ng petsa ay object.
  • Ang datos ng null ay object.
  • Ang datos ng undefined ay undefined.

Hindi mo maaaring gamitin ang typeof upang tukuyin kung ang JavaScript objekto ay isang array o isang petsa.

Hindi mo maaaring gamitin ang typeof upang tukuyin kung ang JavaScript objekto ay isang array o isang petsa.

Ang operator na delete

delete Ang operator na delete ay nag-aalis ng propyedade mula sa objekto:

Eliptikong

var person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
delete person.age;   // mag-alis ng person["age"];

Try It Yourself

Ang operator na delete ay magpapalayas ng halaga at propyedade ng propyedade nang sabay-sabay.

Hindi makakagamit ng propyedade pagkatapos itong alisin at bago itong muling idagdag.

Ang operator na delete ay ginagamit para sa mga propyedade ng objekto. Hindi ito may epekto sa mga variable o function.

Komentaryo:Hindi dapat gamitin ang delete operator sa mga pre-defined na attribute ng JavaScript object. Hindi ito maiiwanang malamig ang iyong application.

in operator

Kung ang tinukoy na atributo ay nasa tinukoy na bagay, in Ang operator ay nagpapakita ng true, kung hindi ay nagpapakita ng false:

Eliptikong

// Arrays
var cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars          // Nagpapakita ng false (tinukoy ang index na hindi ang halaga)
0 in cars               // Nagpapakita ng true
1 in cars               // Nagpapakita ng true
4 in cars               // Nagpapakita ng false (walang umiiral)
"length" in cars        // Nagpapakita ng true (length ay property ng array)
// Objects
var person = {firstName:"Bill", lastName:"Gates", age:19};
"firstName" in person   // Nagpapakita ng true
"age" in person         // Nagpapakita ng true
// Predefined objects
"PI" in Math            // Nagpapakita ng true
"NaN" in Number         // Nagpapakita ng true
"length" in String      // Nagpapakita ng true

Try It Yourself

instanceof operator

Kung ang tinukoy na bagay ay isang instance ng tinukoy na bagay, instanceof Ang operator ay nagpapakita ng true:

Eliptikong

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

Try It Yourself

void operator

void Ang operator ay nagtutulak ng pagtutuos ng isang ekspresyon at ibibigay undefinedAng operator na ito ay karaniwang ginagamit para sa pagkuha ng undefined na pinagmulang halaga gamit ang "void(0)" (makakatulong maging mahalaga kapag nilalagay ang isang ekspresyon na walang ibibigay na halaga).

Eliptikong

<a href="javascript:void(0);">
  Useless Link
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
  Click me to change the background color of body to red
</a>

Try It Yourself