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); }); }