为什么JavaScript使用术语";“数字”;而不是;整数;?

为什么JavaScript使用术语";“数字”;而不是;整数;?,javascript,numbers,integer,primitive,Javascript,Numbers,Integer,Primitive,JavaScript中的“数字”完全是“整数”的同义词吗 是什么激起了我的好奇心: ---PHP、Python、Java和其他语言使用术语“整数” ---JavaScript具有函数parseInt()而不是parseNumber() 有什么有趣的细节吗 JavaScript中的“数字”完全是“整数”的同义词吗 不是。JavaScript中的所有数字实际上都是64位浮点值 parseInt()和parseFloat()都返回相同的数据类型-唯一的区别是是否有任何小数部分被截断 64位中的52位表

JavaScript中的“数字”完全是“整数”的同义词吗

是什么激起了我的好奇心:

---PHP、Python、Java和其他语言使用术语“整数” ---JavaScript具有函数
parseInt()
而不是
parseNumber()

有什么有趣的细节吗

JavaScript中的“数字”完全是“整数”的同义词吗

不是。JavaScript中的所有数字实际上都是64位浮点值

parseInt()
parseFloat()
都返回相同的数据类型-唯一的区别是是否有任何小数部分被截断

64位中的52位表示精度,因此这将为您提供精确的有符号53位整数值。在这个范围之外,整数是近似的


更详细地说,从-9007199254740992到+9007199254740992的所有整数都精确表示(-2^53到+2^53)。JavaScript不能精确表示的最小正整数是9007199254740993。尝试将该数字粘贴到JavaScript控制台中,它将四舍五入到9007199254740992。9007199254740994、9007199254740996、9007199254740998等都是精确表示的,但不是中间的奇数整数。可以精确表示的整数越高(或越负)越稀疏,直到达到最大值为止。MAX_value==1.7976931348623157e+308

在JavaScript中,只有一种数字类型:IEEE 754双精度浮点(所谓的
数字

D.Crockford的这篇文章很有趣:


JavaScript中只有浮点数,尽管整数可以表示为浮点数。我知道可能是@Qantas94Heavy的重复。我数学不太好。那么,我应该删除这个帖子吗?另一个问题不是问同样的问题,但答案很好。我在谷歌上搜索了一会儿,想知道有什么区别,但什么都找不到。你的问题很好,在本例中,以副本结尾可以被认为是链接两个问题及其答案的一种方式。其他访客将从补充信息中受益。很好,很有意义。我没有用任何语言做过很多数学,所以我不会注意到。