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
<< การเลื่อนซ้าย x = 5 << 1 0101 << 1 1010 10
>> การเลื่อนขวา x = 5 >> 1 0101 >> 1 0010 2

ตัวอย่างที่ใช้แสดงในส่วนบนนี้เป็นตัวอย่างที่ไม่มีสัญญาณ 4 ตำแหน่ง แต่ JavaScript ใช้เลขที่มีสัญญาณ 32 ตำแหน่ง

ดังนั้น ใน JavaScript นี้ ~ 5 จะไม่กลับคืน 10 แต่จะกลับคืน -6

~00000000000000000000000000000101 จะกลับมาเป็น 11111111111111111111111111111010

operator typeof

typeof operator 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 ออเรนท์เป็นแอร์เรย์ (หรือ วันที่) ได้。

operator delete

delete operator delete ลบคุณสมบัติจากออเรนท์。

ตัวอย่าง

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

ทดลองด้วยตัวเอง

operator delete จะลบค่าและคุณสมบัติตัวเองของอัตราะบุ。

หลังจากการลบ ไม่สามารถใช้คุณสมบัตินี้ได้จนกว่าจะเพิ่มมันกลับมาก่อน。

operator delete มีเจตนาใช้สำหรับคุณสมบัติของอ象าจ์。มันไม่มีผลต่อตัวแปรหรือฟังก์ชัน。

หมายเหตุ:ไม่ควรใช้สัญญาณ delete บนคุณสมบัติของวัตถุ JavaScript ที่กำหนดโดยแนวทาง การกระทำนี้อาจทำให้โปรแกรมของคุณล่ม

สัญญาณ 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>

ทดลองด้วยตัวเอง