JavaScript 运算符

JavaScript 运算符

实例

向变量赋值,并把它们相加:

  1. var x = 7; // 向 x 赋值 5
  2. var y = 8; // 向 y 赋值 2
  3. var z = x + y; // 向 z (x + y) 赋值 7

赋值运算符(=)把值赋给变量。

赋值

  1. var x = 15;

加法运算符(+)对数字相加:

加法

  1. var x = 7;
  2. var y = 8;
  3. var z = x + y;

乘法运算符(*)对数字相乘:

乘法

  1. var x = 7;
  2. var y = 8;
  3. var z = x * y;

JavaScript 算数运算符

算数运算符用于对数字执行算数运算:

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 系数
++ 递加
递减

注释:JS 算数这一赵算数运算符进行了完整描述。

JavaScript 赋值运算符

赋值运算符向 JavaScript 变量赋值。

运算符 例子 等同于
= x = y x = y
+= x += y x = x + y
-= x -= y x = x - y
= x = y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y

加法赋值运算符(+=)向变量添加一个值。

赋值

  1. var x = 7;
  2. x += 8;

注释:JS 赋值这一章中完整描述了赋值运算符。

JavaScript 字符串运算符

  • 运算符也可用于对字符串进行相加(concatenate,级联)。

实例

  1. txt1 = "Bill";
  2. txt2 = "Gates";
  3. txt3 = txt1 + " " + txt2;

txt3 的结果将是:

  1. Bill Gates

+= 赋值运算符也可用于相加(级联)字符串:

实例

  1. txt1 = "Hello ";
  2. txt1 += "Kitty!";

txt1 的结果将是:

  1. Hello Kitty!

提示:在用于字符串时,+ 运算符被称为级联运算符。

字符串和数字的相加

相加两个数字,将返回和,但对一个数字和一个字符串相加将返回一个字符串:

实例

  1. x = 7 + 8;
  2. y = "7" + 8;
  3. z = "Hello" + 7;

x、y 和 z 的结果将是:

  1. 15
  2. 78
  3. Hello7

提示:如果您对数字和字符串相加,结果将是字符串!

JavaScript 比较运算符

运算符 描述
== 等于
=== 等值等型
!= 不相等
!== 不等值或不等型
> 大于
< 小于
>= 大于或等于
<= 小于或等于
? 三元运算符

注释:JS 比较这一章中完整描述了比较运算符。

JavaScript 逻辑运算符

运算符 描述
&& 逻辑与
|| 逻辑或
! 逻辑非

注释:JS 比较这一章中完整描述了逻辑运算符。

JavaScript 类型运算符

运算符 描述
typeof 返回变量的类型。
instanceof 返回 true,如果对象是对象类型的实例。

注释:JS 类型转换这一章完整描述了类型运算符。

JavaScript 位运算符

位运算符处理 32 位数。

该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数。

运算符 描述 例子 等同于 结果 十进制
& 5 & 1 0101 & 0001 0001 1
| 5 | 1 0101 | 0001 0101 5
~ ~ 5 ~0101 1010 10
^ 异或 5 ^ 1 0101 ^ 0001 0100 4
<< 零填充左位移 5 << 1 0101 << 1 1010 10
>> 有符号右位移 5 >> 1 0101 >> 1 0010 2
>>> 零填充右位移 5 >>> 1 0101 >>> 1 0010 2

上例使用 4 位无符号的例子。但是 JavaScript 使用 32 位有符号数。

因此,在 JavaScript 中,~ 5 不会返回 10,而是返回 -6。

~00000000000000000000000000000101 将返回 11111111111111111111111111111010。

注释:我们将在 JS 位运算这一章为您详解位运算符。

课外书

如需更多有关 JavaScript 运算符的知识,请阅读 JavaScript 高级教程中的相关内容: