「已注销」
2018-10-27 10:04
采纳率: 6.3%
浏览 414

js问题,求大神指点!

 <input type='button' onclick="ddd(2010106115268001565)">

<script>

function ddd(id){
alert(id);

}
</script>

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • yeyulmq 2018-10-27 10:23
    已采纳

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

    已采纳该答案
    打赏 评论
  • 紫气天堂 2018-10-30 09:29

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

    打赏 评论

相关推荐 更多相似问题