JavaScript 运算符


JavaScript 运算符

实例

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

var x = 7;        // 向 x 赋值 7
var y = 8;        // 向 y 赋值 8
var z = x + y;        // 向 z (x + y) 赋值 15

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

赋值

var x = 15;

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

加法

var x = 7;
var y = 8;
var z = x + y;

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

乘法

var x = 7;
var y = 8;
var z = x * y;

JavaScript 算数运算符

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

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 取模(余数)
++ 递加
-- 递减

JavaScript 赋值运算符

运算符 例子 等同于
= x = 7; x = 7;
+= x += 3; x = x + 3;
-= x -= 3; x = x - 3;
*= x *= 3; x = x * 3;
/= x /= 3; x = x / 3;
%= x %= 3; x = x % 3;

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


JavaScript 字符串运算符

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

实例

txt1 = "Bill";
txt2 = "Gates";
txt3 = txt1 + " " + txt2;

txt3 的结果将是:

Bill Gates

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

实例

txt1 = "Hello ";
txt1 += "Kitty!";

txt1 的结果将是:

Hello Kitty!

字符串和数字的相加

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

实例

x = 7 + 8;
y = "7" + 8;
z = "Hello" + 7;

x、y 和 z 的结果将是:

15
78
Hello7

JavaScript 比较运算符

运算符 描述
== 等于(equal)
=== 等于(equal),且类型相同
!= 不等于(not equal)
!== 不等于(not equal),且类型不同
> 大于(greater than)
< 小于(less than)
>= 大于或等于(greater than or equal to)
<= 小于或等于(less than or equal to)
? 如果条件为 true,则返回值为 true,否则返回值为 false

JavaScript 逻辑运算符

运算符 描述
&& 如果两个条件都为 true,则返回 true,否则返回 false
如果两个条件中有一个为 true,则返回 true,否则返回 false
! 如果条件为 true,则返回 false,否则返回 true
注意:或运算符在gitbook的表格上表述有问题,应该是 ||

JavaScript 类型运算符

运算符 描述
typeof 返回变量的类型
instanceof 如果变量是某个类的实例,则返回 true,否则返回 false

JavaScript 位运算符

位运算符处理 32 位数。

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

运算符 描述 例子 等同于 结果 十进制
& 与(AND) 5 & 1 0101 & 0001 0001 1
或(OR) 5 或 1 0101 或 0001 0101 5
~ ~ 5 ~0101 1010 10
\^ 异或(XOR) 5 ^ 1 0101 ^ 0001 0100 4
<< 左移(shift left) 5 << 1 0101 << 1 1010 10
>> 右移(shift right) 5 >> 1 0101 >> 1 0010 2
>>> 无符号右移(shift right) 5 >>> 1 0101 >>> 1 0010 2
注意:或位运算符在gitbook的表格上表述有问题,应该是 |

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

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

~00000000000000000000000000000101 将返回 11111111111111111111111111111010。


results matching ""

    No results matching ""