防止在 Javascript 中自动创建全局变量

2024-02-08

我刚刚花了一些时间调试一个问题,归根结底是忘记使用var关键字位于新变量标识符前面,因此 Javascript 会自动在全局范围内创建该变量。有什么方法可以防止这种情况发生,或者更改默认行为,而不使用像 JSLint 这样的验证器?

在编写和执行 Javascript 代码之间运行验证器似乎是一个糟糕的编译借口,这是我通常用来捕获此类事情的步骤。

我猜答案是“不”,所以我在发布这篇文章时正在研究 JSLint Eclipse 插件。


ES5 严格模式 http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/阻止自动创建全局变量,但可能还需要一年的时间才会出现任何识别严格模式的浏览器,因此 JSLint 可能是您在此之前的最佳选择:-/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止在 Javascript 中自动创建全局变量 的相关文章

随机推荐

  • 单击提交按钮时,我的 ASPX 文件中的第二个模态不会发布

    我有一个 ASPX 文件 其中包含两个模式 myModal 和 addModal 和一个 gridview 其中包含调用每个模式的按钮 打开并单击 提交 按钮时 我遇到了第二个模式的问题 因为它不会触发回发 只是第二个有问题 如果我更改 A
  • 将边框颜色设置为 glyphicon

    我想为 glyphicon 字体添加边框 例如 glyphicon heart它有一个红色边框 颜色与背景相同 我怎样才能做到这一点 border color red 没有完成这项工作 不会显示边框 基本上 glyphicon 图标是字体
  • jpql中如何设置in-clause的集合项?

    JPA 2 0 是否有可能为 jpql query 中的子句设置集合 我正在使用 EclipseLink 下一个例子失败了 TypedQuery
  • Google 表格“您无权调用appendRow”

    function myFunction var url https api github com users chaimf90 repos var response UrlFetchApp fetch url var json respon
  • 如何为 EditText 添加下划线

    我在 Android Studio 的 EditText 中遇到一些需要下划线的问题 这就是我正在寻找的 这只是一张照片 不是我的真实文字 但我真的不知道有什么财产可以做到这一点 我现在的代码非常简单 只是 正常 的
  • php-win.exe - 应用程序无法正确启动(0xc00007b)

    我使用的是 Windows 7 64 位 我已经安装了 WampServer 3 0 6 x64 最新版本 我已经安装了Visual C 2012 更新 4 https www microsoft com en us download de
  • 如何根据 Zend_Form 的一个字段的值验证另一个字段的值?

    我正在尝试向字段添加自定义验证器 它应该考虑另一个字段的值 例如 字段 A 最多应为 B 50 我做了一个类实现Zend Validate Interface 但显然 Zend Form 只将当前字段的值发送给验证器 如何让验证者收到所有内
  • 如何确定 R 中是否有互联网连接

    有时我需要从互联网上下载数据 有时 此操作会失败 因为网站已关闭或我的计算机失去了互联网连接 问题 R 中是否有一些函数可以返回 TRUE FALSE 来判断我是否连接到互联网 The curl包有一个功能has internet通过执行以
  • 三角函数调车场算法

    我正在致力于用 C 实现调车场算法 虽然它可以很好地解析带有符号 和 的数学表达式 但由于某种原因 它不适用于正弦余弦函数 例如 如果我尝试计算 sin 45 我会得到 0 707106 但是当我尝试解析表达式时 sin 25 cos 15
  • 如何使用 Windows 搜索搜索 Jar 文件?

    我相信当我们使用 Win2K 时 Windows 搜索会搜索 Jar 文件来查找特定的类 但这在 XP 中似乎不起作用 有谁知道如何在 XP 中启用此功能吗 请注意 要在 Win2K 中进行搜索 我们只需输入 jar 作为文件 并输入 Cl
  • PHP: header("位置...突然停止工作

    我在我的服务器上修改了一个非常简单的 php 页面 它停止工作了 结果我得到一个空白页 其中没有源代码 我修改回以前的网址 但它仍然不起作用 这是怎么回事 Thanks
  • Mongoose 复合索引唯一 + 稀疏

    我想创建一个索引来确保我没有重复的serialNr的组合内 manufacturer art 但有些物品没有serialNr 这些我不想检查 索引 Code mySchema index serialNr 1 art 1 manufactu
  • 多核和java

    我刚刚读到 服务器如何处理多个请求 最终得到了 java 多线程和多核 cpu 在计算机是单核的时候 如果 java 同时有 2 个线程 那么 jvm 调度程序将负责为每个线程分配时间 因此 两个线程永远不会并行运行 而是利用理想时间 例如
  • 如何在单独的线程中创建带有进度条的MFC对话框?

    我的应用程序可能需要一段时间才能连接到数据库 此连接是通过单个库函数调用建立的 即我无法将进度更新放在那里并进行回调或类似的操作 我的想法是在连接到数据库之前在单独的线程中创建一个带有进度条的对话框 该对话框将不断更改进度状态CProgre
  • 从 VIM 插件中检测文件类型?

    我有一个 vim 插件 它定义了一堆键映射 我试图弄清楚如何根据文件类型更改键映射的定义 例如 如果文件是 py 则将键映射到 X 如果文件是 php 则将键映射到 Y Thanks 是的 一种方法是使用 autocmd 调用设置地图的自定
  • 使用 DDD 创建子实体的正确方法

    我对 DDD 世界相当陌生 在阅读了几本有关它的书籍 其中包括 Evans DDD 后 我无法在互联网上找到我的问题的答案 使用 DDD 创建子实体的正确方法是什么 你看 互联网上的许多信息都在某种简单的层面上运作 但细节是魔鬼 为了简单起
  • iOS地理围栏中区域可以设置的最大和最小半径是多少

    我当时正在 iOS 中进行地理围栏工作 我实际上想在地图上设置不同的区域 每个区域的半径不同 我实际上想知道 iOS 地理围栏中区域的最小和最大半径 Thanks 在 iOS 中 没有指定最小半径 苹果表示 具体的阈值距离由硬件和当前可用的
  • laravel dusk TeaDown() 必须与 Illuminate\Foundation\Testing\TestCase::tearDown() 兼容

    public function tearDown this gt browse function Browser browser browser gt click navbarDropdown gt click dropdown item
  • 这些嵌套向量是如何连接的?

    我编写了一段代码 它创建了一个向量 记分板 其中包含 3 个大小为 3 的独立向量 所有向量都包含符号 在所有索引 0 2 处 当我现在执行 向量集 时在记分牌的第一个向量上 要将其第一个元素更改为 X 向量 2 和 3 也会更改 这是如何
  • 防止在 Javascript 中自动创建全局变量

    我刚刚花了一些时间调试一个问题 归根结底是忘记使用var关键字位于新变量标识符前面 因此 Javascript 会自动在全局范围内创建该变量 有什么方法可以防止这种情况发生 或者更改默认行为 而不使用像 JSLint 这样的验证器 在编写和