Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量传递到JavaScript中_Javascript_Html - Fatal编程技术网

将变量传递到JavaScript中

将变量传递到JavaScript中,javascript,html,Javascript,Html,现在我正试图将一个变量传递给Javascript,但它没有显示我传递的值 这是我的代码: <script> function printPage(school_number) { var school_number; alert(school_number); } </script> 功能打印页(学校编号) { 学校编号; 警报(学校号码); } 我正在传递值0211 <body onLoad="printPage(0211);">

现在我正试图将一个变量传递给Javascript,但它没有显示我传递的值

这是我的代码:

<script>
function printPage(school_number)
{
    var school_number;  
    alert(school_number);

}
</script>

功能打印页(学校编号)
{
学校编号;
警报(学校号码);
}
我正在传递值0211

<body onLoad="printPage(0211);">


警报显示为155。。为什么要换号码,换在哪里

您正在重新定义变量,并传递0xx
八进制数

<script>
function printPage(school_number)
{
    alert(school_number);

}
</script>


<body onLoad="printPage('0211');">

功能打印页(学校编号)
{
警报(学校号码);
}

您的号码没有被更改,而是您定义的“八进制”号码。当一个数字以0开头时,它实际上将以8为基数来表示该值(而不是以10为基数——十进制——这是您习惯的)

如果只想输出字符串文字“0211”,只需在其周围加引号:

<body onLoad="printPage('0211')">

如果要显示数字211,只需删除0:

<body onLoad="printPage(211)">


在我的第一个答案中,还有一件明显的事情我没有领会:如果您已经将其作为参数传入,则不需要重新声明
var
。删除
var学校编号来自您的函数。

0
前缀表示八进制。但我的警报是137而不是155;)在Javascript中,重新声明同一范围内的变量不是问题。感谢您的快速回复response@Paulpro但是在这里unnecessary@JordiCastilla是的,但这与OP的问题无关,在编辑之前,你的答案没有提到八进制数。它仍然没有真正解释八进制数是什么,也没有链接到任何解释八进制数的地方。谢谢你的快速回复。我将数字转换为字符串,并将继续使用它