(也许)我刚刚解决了我的问题( 如何在从对话框窗口成功提交表单后更新前端内容? )通过在 JavaScript 中“存储”/“保存”变量 window
目的。但是,由于我是 JavaScript 方面的新手, _我怀疑在 JavaScript window
对象中存储/保存变量是否是使用该对象的“常见”/“正确”方式_。是吗?
例如,使用下面的代码
$('.trigger').click(function() {
window.trigger_link = this;
});
可取吗?
原文由 Backo 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 JavaScript 中,任何全局变量实际上都是
window
对象的一个属性。使用一个等同于(并且可以互换)使用另一个。使用全局变量当然是“常见的”,所以问题是它是否“合适”。 通常,不鼓励使用全局变量,因为它们可以从任何函数访问,并且您冒着让多个函数尝试读取和写入相同变量的风险。 (对于任何环境中的任何编程语言都是如此,不仅仅是 JavaScript。)
通过 为您的应用程序创建一个唯一的命名空间来 解决这个问题。最简单的方法是创建一个具有唯一名称的全局对象,并将变量作为该对象的属性:
另一种方法是使用
.data()
将变量附加到相关的 DOM 元素。这并非在所有情况下都实用,但这是获取可全局 访问 的变量而无需将它们留在全局命名空间中的好方法。