无法使用Javascript变量

Unable to Use Javascript Variable

本文关键字:Javascript 变量      更新时间:2023-09-26

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

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

我认为正在发生的是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)
    }
}

基本上,var将局部函数作用域定义为变量可用的作用域。只要初始化一个不带var关键字的变量,它就会按照默认行为在全局作用域中可用。

您可以将这些类型的变量保存在全局作用域中,或者,如果您喜欢整齐地排序,可以使用函数作为临时类来存储某些变量。或者,您可以在每次需要时简单地从select查询值,它根本不需要JS存储。