(function($){ $.parser = { auto: true, plugins:['linkbutton','menu','menubutton','splitbutton','layout', 'tree','window','dialog','datagrid', 'combobox','combotree','numberbox','validatebox', 'calendar','datebox','panel','tabs','accordion' ], parse: function(context){ if ($.parser.auto){ for(var i=0; i<$.parser.plugins.length; i++){ (function(){ var name = $.parser.plugins[i]; var r = $('.easyui-' + name, context); if (r.length){ if (r[name]){ r[name](); } else if (window.easyloader){ easyloader.load(name, function(){ r[name](); }) } } })(); } } } }; $(function(){ $.parser.parse(); }); })(jQuery);
初学js 24行函数最后的“()”在语法上是什么意思,最后一行的“(jQuery)”在语法上又是什么意思,前边括号中的大段内容又是什么意思呢。
开发jQuery插件?
实为匿名函数:
[code="js"]
//格式:
(function($){})(jquery)
//立即执行函数;相当于先申明一个函数,声明完后直接调用;
(funtion(){})();
//如果参数如:
(funtion(str){})("output"));
//相当于:
funtion OutPutFun(str){};
OutPutFun("output");
[/code]
找个这个格式,google一下,应该可以找到你想要的东西!
这样来理解一下:
[code="java"]
1.function A(){}
2.var A = function(){}
3.function(){}
[/code]
1.常规定义js方法。
2.先定义方法赋值给A
3.定义匿名方法。
注意:定义方法就是一个函数,有函数地址,那么function(){}分配了一个地址addr。
无论是1还是2方法,其都是先得到addr,然后将addr => A.即将A指向addr
所以这了的function(){}匿名方法就是一个地址。
再来看(function(){})();
这就相当于(addr)(); 而(addr) = A
所以这样就相当与A();就运行起来了。