首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在jQuery中存储全局值(不一定是全局变量)?

如何在jQuery中存储全局值(不一定是全局变量)?
EN

Stack Overflow用户
提问于 2010-05-19 23:20:59
回答 6查看 89.2K关注 0票数 80

目前,我正在开发一个遗留网页,它使用了大量的JavaScript、jQuery、微软客户端JavaScript和其他库。底线-我不能从头开始重写整个页面,因为业务无法证明它的合理性。所以..。这就是它的本质。无论如何,我需要用一个变量污染全局名称空间(我真的没试过)。我想有三个选择-

var x = 0;

  • Use

  • 只需使用普通的JavaScript声明-var x = 0;

  • Use

  • 来存储/检索DOM标记中的值- $("whatever").data("x", 0);

一个隐藏的表单字段,并使用jQuery -JavaScript设置/检索该值

有没有更好的方法?我查看了现有的代码堆,我不相信变量可以在函数中限定作用域。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-05-19 23:25:54

您可以在jQuery对象内创建一个名称空间,如下所示:

代码语言:javascript
运行
复制
$.mynamespace = { 
    myVar : "something", 
    myVar2 : "somethingElse" 
}; 

或者:

代码语言:javascript
运行
复制
$.mynamespace = {};
$.mynamespace.myVar = "something";
$.mynamespace.myVar2 = "somethingElse";

请记住,任何名为'mynamespace‘的插件方法都将被覆盖,因此请确保使用合理的名称。

票数 100
EN

Stack Overflow用户

发布于 2010-05-24 16:46:35

对我来说,处理这种情况的最好方法是在窗口对象中定义一个对象:

代码语言:javascript
运行
复制
window.my_config =
{
    my_var1 : 1,
    my_var1 : 2,
    my_var1 : 3
};

这将使您的作用域保持整洁和干净。当您使用window.my_config访问全局数据库时,任何查看代码的人都会知道正在访问全局数据库。

票数 39
EN

Stack Overflow用户

发布于 2010-05-19 23:29:25

您可以在全局作用域中创建哈希并将其用作命名空间:

代码语言:javascript
运行
复制
MyNamepace={}
MyNamespace.newvar = 'value'
// MyNamespace.newvar => 'value'
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2866866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档