将数据传递给封装的javascript代码
在我的webapp中,我有这样一个变量将数据传递给封装的javascript代码,javascript,jquery,Javascript,Jquery,在我的webapp中,我有这样一个变量 var data = { getItem: function(key){ ... } } 在我所有的脚本中,我都可以使用 data.getItem("Test"); 但是如何在jquery插件中使用它呢?插件通常具有以下结构 (function($, window, document) { //....plugin-code }); (function($) { // plugin-
var data = {
getItem: function(key){
...
}
}
在我所有的脚本中,我都可以使用
data.getItem("Test");
但是如何在jquery插件中使用它呢?插件通常具有以下结构
(function($, window, document) {
//....plugin-code
});
(function($) {
// plugin-code
})(jQuery);
我怎么称呼这种结构?可以在这样的插件中使用我的全局数据变量吗?如果您的数据变量是全局的,那么您可以在任何地方使用它,包括jQuery插件内部
您需要确保在将要使用数据的任何自执行函数之前定义了数据。实际上,它们往往具有结构
(function($, window, document) {
//....plugin-code
});
(function($) {
// plugin-code
})(jQuery);
要点是
$.fn
或$.extend
)才会泄露给外部世界如果您从插件范围外提取数据,那么您仍然可以从闭包内部访问全局变量,或者您可以将其作为额外参数传入-我认为这不会有任何区别。是的,这应该是可能的(除非
数据
标识符被插件中更局部的变量/参数遮住了。)“立即调用”而不是“自动执行”@Sime有趣的技术点。谢谢。这里有更多信息,请关注: