Skip to content

Latest commit

 

History

History
23 lines (16 loc) · 1.03 KB

File metadata and controls

23 lines (16 loc) · 1.03 KB

Javascript QA

js 浮点运算问题

0.1 + 0.2 === 0.3 // false

简单来说,二进制浮点数中的 0.1 和 0.2 并不是十分精确(我们学过十进制小数转二进制有个辗转相乘取整,最后会无限循环,计算机存储会截断处理),于是它们相加的结果并非刚好等于 0.3,而是一个比较接近的数字 0.30000000000000004,所以条件判断结果为 false。

简单的做法可以比较误差小于机器精度,就可以认为它们相等

Math.abs(0.1 + 0.2 - 0.3) < Number.EPSILON

箭头函数跟普通函数区别

  1. 箭头函数不会创建自己的 this,所以它没有自己的 this,它只会从自己的作用域链的上一层继承 this。
  2. 箭头函数里的 this 指向永远不会变,.call()/.apply()/.bind() 也无法改变箭头函数中 this 的指向
  3. 箭头函数没有自己的 arguments
  4. 箭头函数不能作为构造函数使用,也没有 prototype 属性
  5. 箭头函数不能用作 Generator 函数,不能使用 yeild 关键字