现在我正在尝试将变量传递给Javascript,但它没有显示我传递的值..
这是我的代码:
<script>
function printPage(school_number)
{
var school_number;
alert(school_number);
}
</script>
我正在传递值0211
<body onLoad="printPage(0211);">
警报显示155 ..为什么以及在哪里更改号码?
答案 0 :(得分:4)
您的号码没有被更改,而是正是您所定义的 - 一个“八进制”号码。当你从0开始一个数字时,它实际上将该值表示为base-8(而不是base-10 - decimal - 你已经习惯了)。
如果您只想输出字符串文字'0211',只需在其周围加上引号:
<body onLoad="printPage('0211')">
如果你想显示数字211,只需删除0:
<body onLoad="printPage(211)">
另一个显而易见的事情是我没有抓住我的第一个答案:如果您已经将其作为参数传递,则无需重新声明var
。从您的函数中删除var school_number;
。
答案 1 :(得分:3)
您正在重新定义变量,并传递0xx octal number
...
<script>
function printPage(school_number)
{
alert(school_number);
}
</script>
<body onLoad="printPage('0211');">