场景:后端向前端通过一个接口返回一系列商品ID,前端通过商品ID去获取商品信息。
问题:前端请求,但是没有这个商品的信息
原因:后端返回的商品ID ,和前端获取的不一致,js数字采用64位双浮点数。
范围 -(2^53 ) <= number <= 2^53
所以当后端返回数字不在这一区间时,前端会丢失。
比如:

解决方法:后端转成字符串。
总结:js 简单弱类语言,这是设计不严谨的地方,导致很多混乱,
Javascript的10个设计缺陷
C语言中关于float、double、long double精度及数值范围理解
Number.MAX_SAFE_INTEGER
网友评论