服务端使用长整型(Int64)的数字,在浏览器端使用JS的number类型接收时,当这个实际值超过 (2^53-1)时,JS变量的值和实际值就会出现不相等的问题.常见场景比如使用雪花算法生成Id. 在服务端,数字长整型有64位(bit),第一位为符号位,后边为数字位. JS引擎中第一位为符号位,第二位到第十二位为指数位,数字位只剩最后52位,如图: 52位能表示的最大值为2的53次方-1,所以当服务端返回的值超过这个值时,js端就会出现位数丢失的问题,造成实际值和变量值错误的问题. 这个问题解决