目前,我正在使用一个大量的JavaScript,jQuery,Microsoft客户端JavaScript和其他库的旧网页。底线- 我无法从头开始重写整个页面,因为企业无法证明它的合理性。所以…就是这样。无论如何,我需要使用变量来污染(我确实没有尝试过)全局名称空间。我在考虑三个选项-
只需使用普通的JavaScript声明存储/检索它- var x = 0;
var x = 0;
使用jQuery在DOM标签中存储/获取值- $("body").data("x", 0);
$("body").data("x", 0);
使用隐藏的表单字段,并使用jQuery设置/获取值- $("whatever").data("x", 0);
$("whatever").data("x", 0);
有没有更好的办法?我查看了现有的一堆代码,但我不认为变量可以在函数中确定范围。
您可以在jQuery对象中创建一个名称空间,如下所示:
$.mynamespace = { myVar : "something", myVar2 : "somethingElse" };
要么:
$.mynamespace = {}; $.mynamespace.myVar = "something"; $.mynamespace.myVar2 = "somethingElse";
请记住,任何名为“ mynamespace”的插件方法都将被覆盖,因此请确保使用明智的名称。