JavaScript 操作符
时间:2019-08-20 13:50:43 来源:igfitidea点击:
什么是操作符?
在数学表达式 1+2=3 中:
1和2被称为操作数(被操作数),而“+”被称为操作符(运算符),“=” 表示赋值运算符。
JavaScript支持以下类型的操作符。
算术运算符
比较运算符
逻辑(或关系)操作符
赋值操作符
条件(或三元)运算符
JS 算术运算符
算术运算符即加减乘除等
假设 num1 = 20, num2= 6
操作符 | 说明 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | num3 = num1 + num2 | num1 = 20 num2 = 6 num3=26 |
- | 减法 | num3 = num1 - num2 | num1 = 20 num2 = 6 num3=14 |
* | 乘法 | num3 = num1 * num2 | num1 = 20 num2 = 6 num3=120 |
/ | 除法 | num3 = num1 / num2 | num1 = 20 num2 = 6 num3=3.3333 |
% | 取余数 | num3 = num1 % num2 | num1 = 20 num2 = 6 num3=2 |
++ | 自增1 | num1++ | num1 = 21 |
++ | 自增1,注意先赋值后自增 | num3 = num1++ | num3 = 20(先赋值) num1=21(后自增) |
++ | 自增1,注意先自增后赋值 | num3 = ++num1 | num1 = 21(先自增) num3=21(后赋值) |
-- | 自减1 | num1-- | num1 = 19 |
-- | 自减1,注意先赋值后自减 | num3 = num1-- | num3 = 20(先赋值) num1=19(后自减) |
-- | 自减1,注意先自减后赋值 | num3 = --num1 | num1 = 19(先自减) num3=19(后赋值) |
加号还可以用于连接两个字符串
var name = "Hyman" + " " + "liu"; console.log(name); // Hyman liu
JS 比较运算符
JavaScript支持以下比较运算符
假设 num1 = 20, num2= 6
操作符 | 说明 | 示例 | 结果 |
---|---|---|---|
== | 检查两个操作数的值是否相等,如果相等,则条件为true。 | num1 ==num2 | false |
=== | 检查两个操作数的类型和值是否相等,如果都相等,则条件为true。 | num1 === num2 | false |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件为true。 | num1 !=num2 | true |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件为true。 | num1 > num2 | true |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件为true。 | num1 < num2 | false |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为true。 | num1 >= num2 | true |
< | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为true。 | num1 <= num2 | false |
JS 逻辑运算符
JavaScript支持以下逻辑运算符
假设 boolA = true, boolB= false
操作符 | 说明 | 示例 | 结果 |
---|---|---|---|
&& | 逻辑与, 如果两个操作数都非零,则结果为true。 | boolA && boolB | false |
|| | 逻辑或, 如果两个操作数中的任何一个是非零的,则条件为true 。 | boolA || boolB | false |
! | 逻辑非 ,逻辑状态取反 | !boolA | false |
按位操作符
JavaScript支持以下位操作符
假设变量num1为2,变量num2为3 ,变量num3为-5
操作符 | 说明 | 示例 | 结果 |
---|---|---|---|
& | 按位与(对应位都为1,则该位为1) | num1 & num2 | 2 |
| | 按位或(对应位有1位为1,则该位为1) | num1 & num2 | 3 |
^ | 按位异或 (对应位不同,则该位为1) | num1 ^ num2 | 1 |
~ | 按位取反 | ~num2 | -4 |
<< | 左移N位 | num1 <<2 | |
>> | 右移N位(最左边符号位不变) | num3>>3 | -1 |
>>> | 带零右移N位(左边符号位填充0) | num3>>3 | 536870911 |
JS 赋值操作符
JavaScript支持以下赋值操作符
操作符 | 说明 | 示例 | 结果 |
---|---|---|---|
= | 将右侧操作数赋值给左侧操作数 | C = A + B | 把A + B的值赋给C |
+= | 相加并赋值,将右操作数和左操作数相加并将结果赋给左操作数。 | C += A | 等同于C = C + A |
−= | 相减并赋值,左操作数中减去右操作数,并将结果赋给左操作数。 | C -= A | 等同于C = C - A |
*= | 相乘并赋值,左操作数中乘以右操作数,并将结果赋给左操作数。 | C *= A | 等同于C = C * A |
/= | 相除并赋值,左操作数中除以右操作数,并将结果赋给左操作数。 | C /= A | 等同于C = C / A |
%= | 相减并赋值,将左操作数除以右操作数,并将余数赋给左操作数。 | C %= A | 等同于C = C % A |
JS 条件运算符
条件运算符(?:
)首先计算一个条件表达式,然后根据计算结果执行两个给定语句中的一个。
语法:
(条件)? (语句1): (语句2)
如果条件为true,则执行语句1,否则执行语句2
示例
var a =20,b=10,c; c = (a > b) ? 100 : 200
因为a>b, 所有 c=100.
typeof操作符
JS typeof运算符是一个一元运算符,它放在操作数之前,
它将返回表示操作数的数据类型的字符串。
变量类型 | typeof返回值 |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Object | "object" |
Function | "function" |
Undefined | "undefined" |
Null | "object" |