JavaScript的运算符和表达式
JavaScript的运算符和表达式是用来计算和操作值的工具。本文将详细介绍JavaScript中常见的运算符和表达式。
运算符
JavaScript中的运算符包括算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。
算术运算符
算术运算符用于执行基本的数学运算,如加、减、乘、除等。常见的算术运算符如下:
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模(求余数) |
++ | 自增 |
-- | 自减 |
var x = 10;
var y = 3;
console.log(x + y); // 13
console.log(x - y); // 7
console.log(x * y); // 30
console.log(x / y); // 3.3333333333333335
console.log(x % y); // 1
var z = 5;
console.log(++z); // 6
console.log(z++); // 6
console.log(z); // 7
console.log(--z); // 6
console.log(z--); // 6
console.log(z); // 5
比较运算符
比较运算符用于比较两个值,返回一个布尔值(true或false)。常见的比较运算符如下:
运算符 | 描述 |
---|---|
== | 等于 |
=== | 全等于 |
!= | 不等于 |
!== | 不全等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
var x = 10;
var y = 3;
console.log(x == y); // false
console.log(x === y); // false
console.log(x != y); // true
console.log(x !== y); // true
console.log(x > y); // true
console.log(x >= y); // true
console.log(x < y); // false
console.log(x <= y); // false
逻辑运算符
逻辑运算符用于组合条件,返回一个布尔值(true或false)。常见的逻辑运算符如下:
运算符 | 描述 |
---|---|
&& | 与 |
|| | 或 |
! | 非 |
var x = 10;
var y = 3;
var z = 5;
console.log(x > y && x < z); // false
console.log(x > y || x < z); // true
console.log(!(x > y)); // false
位运算符
位运算符用于对二进制数进行操作。常见的位运算符如下:
运算符 | 描述 |
---|---|
& | 按位与 |
| | 按位或 |
~ | 按位非 |
^ | 按位异或 |
<< | 左移 |
>> | 右移 |
>>> | 无符号右移 |
var x = 5; // 二进制:101
var y = 3; // 二进制:011
console.log(x & y); // 1(二进制:001)
console.log(x \| y); // 7(二进制:111)
console.log(~x); // -6
console.log(x ^ y); // 6(二进制:110)
console.log(x << 1); // 10(二进制:1010)
console.log(y >> 1); // 1(二进制:001)
console.log(x >>> 1); // 2(二进制:010)
赋值运算符
赋值运算符用于给变量赋值。常见的赋值运算符如下:
运算符 | 描述 |
---|---|
= | 简单赋值 |
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
%= | 取模等于 |
<<= | 左移等于 |
>>= | 右移等于 |
>>>= | 无符号右移等于 |
&= | 按位与等于 |
|= | 按位或等于 |
^= | 按位异或等于 |
var x = 10;
x += 5; // 等价于 x = x + 5
console.log(x); // 15
var y = 3;
y *= 2; // 等价于 y = y * 2
console.log(y); // 6
其他运算符
除了上述常见的运算符外,JavaScript还有一些其他的运算符:
运算符 | 描述 |
---|---|
, | 逗号运算符 |
?: | 条件运算符 |
delete | 删除对象的属性 |
in | 检查对象是否包含指定的属性 |
instanceof | 检查对象是否为指定类型的实例 |
new | 创建对象 |
typeof | 返回变量的数据类型 |
void | 指定表达式没有返回值 |
var x = 10, y = 3;
console.log(x, y); // 10 3
var z = x > y ? "x大于y" : "x小于等于y";
console.log(z); // x大于y
var obj = {name: "Tom", age: 18};
console.log(obj);
delete obj.age;
console.log(obj); // {name: "Tom"}
console.log("age" in obj); // false
console.log("name" in obj); // true
console.log(obj instanceof Object); // true
var person = new Object();
person.name = "Tom";
person.age = 18;
console.log(person); // {name: "Tom", age: 18}
console.log(typeof x); // number
var a = void(console.log("hello"));
console.log(a); // undefined
表达式
表达式是由运算符和操作数组成的计算式。JavaScript中的表达式有很多种,包括算术表达式、比较表达式、逻辑表达式、赋值表达式、函数调用表达式等。
var x = 10;
var y = 3;
console.log(x + y); // 算术表达式
console.log(x > y); // 比较表达式
console.log(x > y && x < 20); // 逻辑表达式
var z = x + y;
console.log(z); // 赋值表达式
function add(a, b) {
return a + b;
}
console.log(add(x, y)); // 函数调用表达式
结论
本文介绍了JavaScript中常见的运算符和表达式,包括算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。同时也介绍了表达式的概念和几种常见的表达式。了解和掌握这些知识对于编写JavaScript程序非常重要。