js问题,求大神指点!
 <input type='button' onclick="ddd(2010106115268001565)">

<script>

function ddd(id){
alert(id);

}
</script>

这是一个传参数的方法,问题是:为什么ddd函数的参数,在不带单引号的时候,也就是如上代码的时候,alert出来的是2010106115268001500而不是2010106115268001565,而在个数字两边加上单引号的时候,alert出来的数据就是正常的呢?
请大神指点,在线等

2个回答

js的number类型有个最大值(安全值)。即2的53次方,为9007199254740992。如果超过这个值,那么js会出现不精确的问题。这个值为16位, 切换成字符串传参即可

带单引号传递的是字符串,不带单引号传递的就是数值,而js的number类型有最大值,超过的话就会损失精度

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐