JavaScript Operator

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

另请参阅:

教程:ການນຳໃຊ້ສັບພິມ

教程:JavaScript Operator Precedence

JavaScript 算术运算符

ສັນຍາການທັກທາມນຳໃຊ້ສຳລັບການດຳເນີນການທັກທາມລະຫວ່າງຄູ່ມູນແລະ/ຫຼືຄູ່ມູນ

given y = 5,ຕາຕະລາງດ້ານລຸ່ມການທັກທາມດັ່ງຕໍ່ມາ:

ນັກການປະສານຂັ້ນວັດຖຸ ອະທິບາຍ ຕົວຢ່າງ ຜົນຂອງ y ຜົນຂອງ x Try it
+ ການຕອບຕໍ່ຕາຍ x = y + 2 y = 5 x = 7 Try it
- ການຫຼຸດລົງ x = y - 2 y = 5 x = 3 Try it
* ການກະຈາຍ x = y * 2 y = 5 x = 10 Try it
/ ການກະຈາຍ x = y / 2 y = 5 x = 2.5 Try it
% ການກະຈາຍພາກຫຼຸດ x = y % 2 y = 5 x = 1 Try it
++ ການຕອບຕໍ່ຕາຍ x = ++y y = 6 x = 6 Try it
x = y++ y = 6 x = 5 Try it
-- ການຫຼຸດລົງ x = --y y = 4 x = 4 Try it
x = y-- y = 4 x = 5 Try it

ກ່ຽວກັບຄວາມຮູ້ຂອງສັນຍາການທັກທາມຂອງພວກເຮົາ JavaScript 算术教程.

JavaScript 赋值运算符

ສັນຍາການປະກອບຄູ່ມູນນຳໃຊ້ສຳລັບການປະກອບຄູ່ມູນຫຼືຄູ່ມູນ

given x = 10 and y = 5,ຕາຕະລາງດ້ານລຸ່ມການປະກອບຄູ່ມູນດັ່ງຕໍ່ມາ:

ນັກການປະສານຂັ້ນວັດຖຸ ຕົວຢ່າງ ຕົງກັບ ຜົນຂອງ x Try it
= x = y x = y x = 5 Try it
+= x += y x = x + y x = 15 Try it
-= x -= y x = x - y x = 5 Try it
*= x *= y x = x * y x = 50 Try it
/= x /= y x = x / y x = 2 Try it
%= x %= y x = x % y x = 0 Try it

ກ່ຽວກັບຄວາມຮູ້ຂອງສັນຍາການປະກອບຄູ່ມູນກະຈາຍຄວາມຮູ້ຂອງພວກເຮົາ JavaScript 赋值教程.

JavaScript 字符串运算符

+ 运算符和 += 运算符ຍັງສາມາດນຳໃຊ້ສຳລັບການທຽບຕົກຕ້ານຫຼືການຕອບຕາຍຕົກຕ້ານ

given text1 = "Good "text2 = "Morning"،ແລະ text3 = "",ຕາຕະລາງດ້ານລຸ່ມການນຳໃຊ້ສັນຍາດັ່ງຕໍ່ມາ:

ນັກການປະສານຂັ້ນວັດຖຸ ຕົວຢ່າງ text1 text2 text3 Try it
+ text3 = text1 + text2 "Good " "Morning" "Good Morning" Try it
+= text1 += text2 "Good Morning" "Morning" "" Try it

ສັນຍາການປຽບທຽບ

ການນຳໃຊ້ສັນຍາການປຽບທຽບໃນຄຳປະກອບທາງວິທະຍາສາດເພື່ອພິຈາລະນາຄວາມສະແດງຫຼືການແຕກຕ່າງລະຫວ່າງຄູ່ມູນຫຼືຄູ່ມູນຕ່າງມາ

given x = 5,ຕາຕະລາງດ້ານລຸ່ມການປຽບທຽບດັ່ງຕໍ່ມາ:

ນັກການປະສານຂັ້ນວັດຖຸ ອະທິບາຍ ການປຽບທຽບ ກັບຄືນ Try it
== ທຽບທັງໝົດ x == 8 false Try it
x == 5 true Try it
=== ຄູ່ມູນຄວາມສະແດງແລະຄວາມສະແດງຂອງຄູ່ມູນ x === "5" false Try it
x === 5 true Try it
!= ບໍ່ໄດ້ຕົກຕ່າງ x != 8 true Try it
!== unequal values or unequal types x !== "5" true Try it
x !== 5 false Try it
> greater than x > 8 false Try it
< less than x < 8 true Try it
>= greater than or equal to x >= 8 false Try it
<= less than or equal to x <= 8 true Try it

For knowledge about comparison operators, please read our JavaScript Comparison Tutorial.

Conditional (ternary) operator

The conditional operator assigns a value to a variable based on the condition.

syntax

variablename = (condition) ? value1:value2

ບັນດາ

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

亲自试一试

Example explanation:

If the value of the variable "age" is less than 18, then the value of the variable "voteable" will be "Too young", otherwise, the value of "voteable" will be "Old enough".

Logical operators

Logical operators are used to determine the logic between variables or values.

given x = 6 and y = 3ລາຍການລະບຸນັກການປະສານທາງວິທະຍາສາດ:

ນັກການປະສານຂັ້ນວັດຖຸ ອະທິບາຍ ຕົວຢ່າງ Try it
&& and (x < 10 && y > 1) is true Try it
|| or (x === 5 || y === 5) is false Try it
! not !(x === y) is true Try it

JavaScript Bit Operators

ນັກການປະສານວັດຖຸວັດຖຸສິບສະມາຊິກມີສິນບັນ. ວັດຖຸທີ່ມີບັນຊີຄວາມທາງວັດຖຸຈະຖືກປ່ຽນແປງເປັນ 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

ຕົວຢ່າງດັ່ງກ່າວໃຊ້ຕົວຢ່າງທີ່ບໍ່ມີສິບສະມາຊິກສີເອກ. ແຕ່ JavaScript ມີສິບສະມາຊິກທີ່ມີສິນບັນ.

ຍ້ອນນັ້ນໃນ 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
  • ວັດສະດຸຂອງ Array ແມ່ນ object
  • ວັດສະດຸຂອງ Date ແມ່ນ object
  • ວັດສະດຸຂອງ null ແມ່ນ object
  • ວັດສະດຸຂອງວັດສະດຸທີ່ບໍ່ມີການອະທິບາຍແມ່ນ undefined

ທ່ານບໍ່ສາມາດໃຊ້ typeof ເພື່ອກຳນົດວ່າ JavaScript Object ແມ່ນ Array (ຫຼື Date).

ທ່ານບໍ່ສາມາດໃຊ້ typeof ເພື່ອກຳນົດວ່າ JavaScript Object ແມ່ນ Array (ຫຼື Date).

ການປັບລົງ delete

delete ການປັບລົງຈະປັບລົງຜະລິດຕະພັນຈາກບັນດາວັດສະດຸ:

ບັນດາ

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

亲自试一试

ການປັບລົງ delete ຈະປັບລົງຂອງຄວາມຄິດຂອງຜະລິດຕະພັນແລະຜະລິດຕະພັນເອງ.

ຫຼັງຈາກການປັບລົງທີ່ຈະນຳໃຊ້ມັນຄືນມາກ່ອນການກັບຄືນໃຫ້ບໍ່ສາມາດໃຊ້ຂໍ້ມູນດັ່ງກ່າວ.

ການປັບລົງ 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);">
  无用的链接


  单击我将 body 的背景色更改为红色

亲自试一试