0%

前端冷知识

本文摘自字节青训营社区技术问答板块

#1 在什么情况下 a === a - 1 ?(上)

  • 正负 Infinity
  • 给 a 赋一个很大的值(准确地说,是超过 Number.MAX_SAFE_INTEGER 的数)

    这是因为在 JavaScript 里,整数可以被精确表示的范围是从 -2 ** 53 + 12 ** 53 - 1,即 -9007199254740991 到 9007199254740991。超过这个数值的整数,都不能被精确表示。
  • 注意 NaN 跟任何值都不相等,包括 NaN 本身

#2 在什么情况下 a === a - 1 ?(下)

使用 defineProperty 函数

1
2
3
4
5
6
7
let count = 0;
Object.defineProperty(window, 'a', {
get() {
return ++count;
}
});
console.log(a === a - 1); // true

本文标题:前端冷知识

文章作者:Flower-F

发布时间:2022年01月07日 - 23:24

最后更新:2022年01月19日 - 16:40

-------------本文结束,感谢您的阅读-------------

欢迎关注我的其它发布渠道