Skip to content

础运算符 ​

一、运算符和运算元 ​

运算符 ​

+ = * /

javascript
var num1 = 20
var num2 = 10

var result1 = num1 + num2
var result2 = num1 - num2
var result3 = num1 * num2
var result4 = num1 / num2

console.log(result1) // 30
console.log(result2) // 10
console.log(result3) // 200
console.log(result4) // 2

运算元 ​

运算符应用的对象

javascript
var num1 = 20
var num2 = 10

// num1 * num2 有两个运算元
var result = num1 * num2
console.log(result) // 200

二、算术运算符 ​

+:加 ​

javascript
var sum = 1 + 2
console.log(sum) // 3

-:减 ​

javascript
var sum = 2 - 1
console.log(sum) // 1

*:乘 ​

javascript
var sum = 1 * 2
console.log(sum) // 2

/:除 ​

javascript
var sum = 2 / 1
console.log(sum) // 2

%:取余 ​

javascript
var sum = 5 % 2
console.log(sum) // 1

**:幂运算 ​

javascript
var sum = 2 ** 3
console.log(sum) // 8

三、赋值运算符 ​

赋值运算符 ​

javascript
// =
var num = 100

链式赋值 ​

javascript
// 从右到左计算
var num1 = (num2 = num3 = 1)

原地修改 ​

javascript
// 对变量做运算并将新的结果存储到同一个变量中
var num = 100
num = num + 10
num += 10
num *= 10

自增和自减 ​

自增 ​

javascript
// ++
var num = 0
num++
console.log(num) // 1

自减 ​

javascript
// --
var num = 1
num--
console.log(num) // 0

位置 ​

  1. 前置形式
javascript
var num = 5
var sum 2 + 3 * ++num
console.log(num)  // 20
  1. 后置形式
javascript
var num = 5
var sum - 2 + 3 * num++
console.log(num)  // 17

五、运算符优先级 ​

运算符的优先级决定了表达式中运算执行的先后顺序。优先级高的运算符会作为优先级低的运算符的操作数。

MDN-运算符优先级汇总表

六、比较运算符 ​

大于/小于: > <

大于等于/小于等于: >= <=

相等: ==

不相等: !=

注意:

(== 和 === 的区别)

  • ==: 在类型不相同的情况下会将运算符转成 Number 类型(隐式转换)的值再做比较,但 null 值比较特殊,null 值进行比较时会被当成一个对象和原型类型做比较。

    javascript
    var num = 0
    var str = ''
    console.log(num == str) // true
  • ===: 在类型不相同的情况下直接返回 false

    javascript
    var num = 0
    var str = ''
    console.log(num === str) // false