无法使用Javascript变量

时间:2014-08-09 17:07:44

标签: javascript html variables

我在函数中使用了一个Javascript变量period。我无法弄清楚如何在其他领域使用这个相同的变量,例如第2部分中的document.write ()函数。我认为period是一个全局变量。整个页面的作用是什么,当我在列表中选择一个数字时,它隐藏了我不需要的额外行。

在第三部分中,我添加了var x = period,如果我输入document.write(period),它会给我我想要的值。除了那个特定的位置,我无法在其他任何地方获得该值。基本上,我在第2部分的report(this.value)中需要document.write()值。

我认为发生的事情是report(this.value)在我的列表中选择一个数字之前不会报告,因此在我可以使用之前编写HTML。但不确定。

如果有人可以帮助我,我会非常感激。谢谢。

此外,有没有更好的方法来选择列表中的数字,我可以在任何地方使用该变量。感谢。

第1部分

<select size="1" id="Number" Name="Number1" onchange="report(this.value)">
    <option value="" selected>How Many</option>
    <option value="1">1</option><option value="2">2</option>
</select>

第2部分

<p id="1">
    &nbsp;
    <script>document.write (x,")");</script>
    Primary silkscreen layer
    <img src="../0_Images/blank.jpg" width="60" height="15">
    File name: &nbsp;
    <input name="Primary Silkscreen12" type="text" size="60" style="border:3px solid #1871D1;" />
</p>

第3部分

function report(period) {
    var x = period
    if (period=="1") {
        var i = 1;
        do {
            + i;
            i++;
            var e = document.getElementById(i);
            e.style.display = 'none'
        } while (i < 34)
    }
}

1 个答案:

答案 0 :(得分:1)

基本上,var将本地函数作用域定义为变量可用的作用域。只需启动不带var关键字的变量,就可以根据默认行为在全局作用域中使用它

您可以将这些类型的变量保存在全局范围内,或者,如果您喜欢整齐排序,可以使用函数作为临时类来存储某些变量。或者,您可以简单地查询{{1每次你需要它时它根本不需要JS存储。这取决于您的完整实施哪个选项最合适。