我有一个按钮,在后面的代码我添加一个onclick,我传递一个唯一的ID,将传递给js函数.id以0开头.
它没有工作,最终我发现数字,身份证,传递是错误的......
IE浏览器.看到这个:js小提琴
它与数字的开头和结尾一起使用.只是想知道为什么013转到11.我做了一些谷歌搜索,找不到任何东西......
干杯
知更鸟
编辑:
多谢你们.是的,现在明白了.
在这种情况下,开头的0有一个含义,这里是邮件列表中的收件人ID,我将使用'013'而不是013,即一个字符串.然后我可以在js中拆分值,因为3个值中的每一个代表一个不同的id,它总是只有1个字符长,即0-9.
以a开头的数字文字0被视为八进制数.所以基地8的13是基地10的11 ...
八进制数字文字已被弃用,但如果您未处于严格模式,则仍可使用.
(你没有问,但是)以数字文字开头的数字文字0x被视为十六进制.
更多信息在MDN.
在您的演示中调用参数id,这意味着您不需要对其进行数值运算 - 如果是这样,只需将其放在引号中并将其用作字符串即可.
如果你需要能够传递前导零,但仍然将数字视为基数10来对其进行数值运算,则可以将其括在引号中以将其作为字符串传递,然后将字符串转换为数字,方式为部队基地10,例如:
something('013');
function something(id){
alert(+id); // use unary plus operator to convert
// OR
alert(parseInt(id,10)); // use parseInt() to convert
}
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/XYa6U/5/
| 归档时间: |
|
| 查看次数: |
4647 次 |
| 最近记录: |