那些一不注意就会掉入的坑

64 阅读1分钟

0.1 + 0.2 !== 0.3

  • 0.0

toFixed()

  • toFixed() 方法可把 Number 四舍五入为指定小数位数的数字
5.225.toFixed(2)
//预期 5.23
//实际 5.22

type of()

typeof(NaN)
//预期 得到 无论什么吧
//实际结果为 number

parseInt()

  • parseInt() 函数可解析一个字符串,并返回一个整数。
parseInt(0.0000005)
//预期 得到 0
//实际结果为 5
  • 因为e-6以上会被转换为科学计数法。 0.0000005 -> 5e-6parseInt(5e-6)返回 5

every()

  • every() 方法用于检测数组所有元素是否都符合指定条件
const arr = []
arr.every(v => v > 0)
//预期 ,数组里没有值大于0,得到 false
//实际结果为 true
  • every() 不会对空数组做检测,恒定返回 true

  • 使用前应该对检测数组的长度做判段

split()

  • split()把一个字符串分割成字符串数组:
let str = ''
str.split(',')
//预期 ,[]
//实际结果为 ['']
  • 使用前应该对str做类型string和值非空字符判断

[NaN].includes(NaN) === true

[NaN].indexOf(NaN) === -1