繁体   English   中英

javascript在DOM中存储全局变量

[英]javascript storing global variables in DOM

我有一个相当大的脚本,其中包含约60个全局变量。 我正在考虑使用命名空间模式来封装我的脚本,并且只有一个引用一个对象的全局变量。

即使此模式被认为是最佳实践,但我也在考虑一种替代方法:将全局变量存储在DOM中的隐藏div中,并使用$('#MyGlobalVar1').text()访问它们。 这是一个好主意吗?

感谢您的建议。

不,这不是一个好主意。

它用非语义数据污染DOM,效率也较低。 这比污染全局命名空间JS更糟糕 ,更糟糕的是,它不仅可以让你存储字符串。

即使我建议您使用命名空间对象来保存和引用数据,也可以在代码周围放置一个外部自调用函数,以防止破坏全局对象。

所以你从

var global1 = true,
    global2 = true;

进入

(function() {
    var global1 = true,
        global2 = true;

    // rest of all app logic
}());

除此之外,由于您使用的是jQuery,因此您可能还会使用jQuerys .data()方法。 它旨在引用特定节点的数据,但它也内部存储在ECMAscript对象中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM