目前,我正在开发一个使用大量JavaScript、jQuery、Microsoft客户端JavaScript和其他库的遗留网页.底线是——我不能从头重写整个页面,因为企业无法证明这一点.所以事实就是这样.无论如何,我需要用一个变量污染全局名称空间(我真的试过了,没有太多).有三种 Select 我一直在考虑-

  1. 只需使用普通的JavaScript声明来存储/检索它——var x = 0;

  2. 使用jQuery在DOM标记-$("body").data("x", 0);中存储/检索值

  3. 使用隐藏表单域,并使用jQuery-$("whatever").data("x", 0);设置/检索值

Is there a better way? I looked at the existing pile of code, and I do not believe the variable can be scoped in a function.

推荐答案

You can create a namespace inside the jQuery object, like so:

$.mynamespace = { 
    myVar : "something", 
    myVar2 : "somethingElse" 
}; 

或者:

$.mynamespace = {};
$.mynamespace.myVar = "something";
$.mynamespace.myVar2 = "somethingElse";

Bear in mind, any plugin method named 'mynamespace' will be overwritten so be sure to use a sensible name.

Jquery相关问答推荐

逐个交换图像

jQuery非只读 Select 器

JQuery通过类名获取所有元素

jQuery ajax 调用默认超时值

TypeScript 中是否有this的别名?

jQuery ajax() 使用成功、错误和完成与 .done()、.fail() 和 always()

如何从 jQuery 中的父级中 Select 所有子级(任何级别)?

JQUERY UI Accordion 开始折叠

如何知道字体(@font-face)是否已经加载?

jQuery .live() 和 .on() 有什么区别

如何阻止 Chrome 进入调试模式?

如何使用jQuery在弹出窗口中预览输入类型=文件中的选定图像?

在 jQuery UI 自动完成上没有检测到结果

我如何知道 jQuery 是否有待处理的 Ajax 请求?

用作 Google Chrome 书签

查找 id 以开头的 html 元素

使用 jQuery 在 Select 列表中隐藏选项

在 javascript/浏览器中缓存 jquery ajax 响应

JS - 从base64代码中获取图片的宽高

jquery ui Dialog:无法在初始化之前调用对话框上的方法