JavaScript 函数不适用于在函数之前声明的变量

标签 javascript

我想在我的函数之前声明一个或多个变量,但是当我这样做时函数无法工作。我知道在函数内部声明的变量是只在函数范围内工作的局部变量。为什么我的变量不能在我的函数之外/之前作为“全局”变量工作?

<script type="text/javascript">
   var visitors = document.getElementById('tb254597').value;
   function limitVisitors() {
       if ( visitors > 60 ) {
          alert("We can only accommodate 60 people on a group visit. You entered " + visitors + " visitors.");
       }
   }
</script>

最佳答案

  1. 将变量声明和初始化移到函数内部,因为您在开始时从它获取初始值而不是实际值。

    如果你需要的变量不在函数外,最好把它放在函数内。

  2. 使用 parseInt() 将值更改为数字,因为您从输入中获取了一个字符串。

  3. 在某处调用函数 limitVisitors(),可能是在提交时。


function limitVisitors() {
    var visitors = parseInt(document.getElementById('tb254597').value, 10);
    if ( visitors > 60 ) {
        alert("We can only accommodate 60 people on a group visit. You entered " + visitors + " visitors.");
    }
}

limitVisitors();

关于JavaScript 函数不适用于在函数之前声明的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317854/

相关文章:

javascript - 绘制图像并调整大小为 Canvas

javascript - 重复单击时单击事件中的 jQuery scrollTop 无法正常工作

javascript - 在新选项卡中打开页面上的所有链接并跟踪这些选项卡

javascript - 带有 JavaScript 的 Chrome 扩展,用于更改 CSS

javascript - Babel编译JS导入相对路径失败

javascript - 在运行剩余的 javascript 之前检查有效的电子邮件

javascript - 如何使 JS 对象*成为* TypeScript 类实例

javascript - 检查对象中是否存在像 "item[ ]"这样的键名 - AngularJs

javascript - 如何解决这个ajax jquery错误?

javascript - Dreamweaver 不断将外部 CSS 文件与本地服务器上的本地 CSS 一起拉取