总结:将变量转化为 Number 类型
- 纯数字的字符串和数字,输出数字的整数部分,类似 Math.trunc()
var num = 123
console.log(~~num) // 123
var num = -123.56
console.log(~~num) // -123
var num = '123'
console.log(~~num) // 123
var num = '-123.56'
console.log(~~num) // -123
- 非纯数字的字符串,输出 0
var str = '123num'
console.log(~~str) // 0
- Boolean 类型的,true 输出 1,false 输出 0
var bool = true
console.log(~~bool) // 1
var bool = false
console.log(~~bool) // 0
- Undefined 和 null ,输出为 0
var u = undefined
console.log(~~u) // 0
var n = null
console.log(~~n) // 0