学习过程中学到的一些取巧之法
!!
强制转换为布尔值,代替Boolean(param)
js
!!'' // false
!!0 // false
!!null // false
!!undefined // false
!!'abc' // true
!!1 // true
!!{} // true
!![] // true
!!'' // false
!!0 // false
!!null // false
!!undefined // false
!!'abc' // true
!!1 // true
!!{} // true
!![] // true
~~
位运算符~
反转所有位,~~
代替Math.floor()
速度更快
规则
- 正数:向下取整
- 负数:向上取整
js
// 正数
Math.floor(1.0123) // 1
~~1.0123 // 1
// 负数
Math.floor(-1.123) // -1
~~-1.123 // -2
// 正数
Math.floor(1.0123) // 1
~~1.0123 // 1
// 负数
Math.floor(-1.123) // -1
~~-1.123 // -2
+
字符串转换为数字(整数),代替
- parseInt(str)
js
~~ '-1' // -1
parseInt('-1') // -1
~~ '1.234' // 1
Number('-1.234') // -1.234
~~ '-1' // -1
parseInt('-1') // -1
~~ '1.234' // 1
Number('-1.234') // -1.234