var END = Math.pow(2, 53);
var START = END - 100;
var count = 0;
for (var i = START; i <= END; i++)
{
count++;
}
console.log(count);
貌似会输出100,实际运行时死循环了,分析原因
console.log(Math.pow(2,53)); ->输出9007199254740992
console.log(Math.pow(2,53) + 1); ->仍然输出9007199254740992
console.log(Math.pow(2,53) === Math.pow(2,53) + 1) ->输出true,这里有点奇葩
console.log(Math.pow(2,53) + 3);->输出9007199254740996,这里就更奇葩了。
找到一个链接,有空回头看看https://q.cnblogs.com/q/71597/
44个javascript问题-6(来自知乎)
最新推荐文章于 2019-02-13 13:58:21 发布