在javascript函数进行传参的时候有时候会传ID等定长的数字字符串,这时候不注意小细节有可能会踩博主的坑……
例如如下代码:
html
<button onclick="print(00012)">点击我显示00012</button>
<script type="text/javascript" src="print.js"></script>
print.js
function print(value){
console.log(value);
}
注意print(00012),网页打印出来的结果是:
很迷,不是我们想要的00012,并且打印出来的是数字10,博主参考了《JavaScript 高级程序设计》一书后,发现是javascript自动识别这串带0前缀的数字串并且将其作为8进制转换了。