jQuery – 使全局变量可用于多个插件

我有一组我正在为网站创建的jQuery插件。

所有这些插件都具有通用function,可以进行$ .getJSON()调用。

这些调用中传递的URL因Dev,QA和生产环境而异。

我想将URL存储在一个中心位置,以便可以轻松更改。

url应该存储在哪里? 我不想将URL存储在每个插件中。 可以将它定义为全局变量,还是将其作为传递给插件的参数更好?

我建议你使用附加到jQuery对象的对象文字。 请确保在所有插件之前包含它:

jQuery.YourCompany = { url: "http://thedomain.com" }; 

然后你需要的任何地方,只需使用

 jQuery.YourCompany.url // or $.YourCompany.url 

如果将对象/类与$.fn函数结合使用,还可以将此全局变量用作命名空间:

 jQuery.YourCompany.PluginOne = function(el){ .... } // But not on the fn object: jQuery.fn.pluginOne = function(){ return this.each( function() { var po = new jQuery.YourCompany.PluginOne(this); }); }