Kri*_*use 80 javascript jquery global-variables
目前,我正在开发一个使用大量JavaScript,jQuery,Microsoft客户端JavaScript和其他库的遗留网页.底线 - 我无法从头开始重写整个页面,因为业务无法证明这一点.所以......就是这样.无论如何,我需要使用变量污染(我真的尝试过).我正在考虑三种选择 -
只需使用普通的JavaScript声明存储/检索它 - var x = 0;
使用jQuery在DOM标记中存储/检索值 - $("body").data("x", 0);
使用隐藏的表单字段,并使用jQuery设置/检索值 - $("whatever").data("x", 0);
有没有更好的办法?我查看了现有的一堆代码,我不相信该变量可以在函数中作用域.
kar*_*m79 100
您可以在jQuery对象中创建一个名称空间,如下所示:
$.mynamespace = {
myVar : "something",
myVar2 : "somethingElse"
};
Run Code Online (Sandbox Code Playgroud)
要么:
$.mynamespace = {};
$.mynamespace.myVar = "something";
$.mynamespace.myVar2 = "somethingElse";
Run Code Online (Sandbox Code Playgroud)
请记住,任何名为"mynamespace"的插件方法都将被覆盖,因此请务必使用合理的名称.
ova*_*riq 38
对我来说,处理这种情况的最好方法是在window对象中定义一个对象:
window.my_config =
{
my_var1 : 1,
my_var1 : 2,
my_var1 : 3
};
Run Code Online (Sandbox Code Playgroud)
这样可以保持您的范围整洁干净.每当您使用window.my_config任何查看代码的人访问全局时,都会知道正在访问全局.
您可以在全局范围中创建哈希并将其用作命名空间:
MyNamepace={}
MyNamespace.newvar = 'value'
// MyNamespace.newvar => 'value'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88197 次 |
| 最近记录: |