JS 操作符
在 JS 中,操作符用于执行各种操作,例如算术运算、逻辑运算、赋值运算等。
算数操作符
- +:加法
- -:减法
- *:乘法
- /:除法(会保留小数)
- %:取模(取余数)
- ++:自加(一元运算符)
- --:自减(一元运算符)
// 一元运算符
var num1 = 10;
console.log(num1++); // 11
console.log(++num1); // 11
var num2 = 20;
var sum1 = num2++ + 10;
var sum2 = ++num2 + 10;
var sum3 = --num2 + 10;
console.log(sum1); // 30:num2 与 10 相加以后,才会加 1
console.log(sum2); // 31:num2 加 1 以后,才会与 10 相加
console.log(sum3); // 29:num2 减 1 以后,才会与 10 相加
// 二元运算符
// 优先级
var num = 10;
console.log(num + 5 * 10); // 60
// 除(会保留小数部分)
var num1 = 10;
var num2 = 15;
console.log(num2 / num1); // 1.5
var num1 = 4;
var num2 = 15;
console.log(num2 / num1); // 3.75
var num1 = 3;
var num2 = 10;
console.log(num2 / num1); // 3.3333333333333335
比较操作符
- ==:相等
- ===:严格相等(值和类型均相等)
- !=:不相等
- !==:严格不相等
- >:大于
- <:小于
- >=:大于等于
- <=:小于等于
// 不严格等于和严格等于
var str = '5';
var num = 5;
console.log(str == num); // true,“不严格等于”只要数值相等,就返回 true
console.log(str === num); // false,“严格等于”会同时比较数值和数据类型,所以返回 false
// 两个字符串比较
var str2 = '人';
var str3 = '狗';
console.log(str2 != str3); // true
逻辑操作符
var num1 = 10;
var num2 = 20;
console.log(num1 < num2 && 5 > 6); // false
赋值操作符
- =:赋值
- +=:加后赋值
- -=:减后赋值
- *=:乘后赋值
- /=:除后赋值
- %=:取模后赋值
var num = 10;
console.log(num+=10); // 20
条件(三元)操作符
- condition ? expr1 : expr2:如果条件为真,则返回 expr1,否则返回 expr2 。
// 获取两个数中的最大值
var num1 = 10;
var num2 = 20;
var result = num1 > num2 ? num1 : num2;
console.log(result); // 20
位操作符
- &:按位与
- |:按位或
- ^:按位异或
- ~:按位取反
- <<:左移
- >>:有符号右移
- >>>:无符号右移
其他操作符
- typeof:返回操作数的数据类型
- instanceof:判断对象是否属于某个类