我看过这里,基本上(据我所知)你不能为函数和对象使用相同的名称,但看看下面的代码,情况似乎并非如此。谁能告诉我这是如何工作的?
;(function($){
$.fn.superfish = function(op){
var sf = $.fn.superfish,
c = sf.c,
$arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')),
...
};
var sf = $.fn.superfish;
...
sf.c = {
bcClass : 'sf-breadcrumb',
menuClass : 'sf-js-enabled',
anchorClass : 'sf-with-ul',
arrowClass : 'sf-sub-indicator',
shadowClass : 'sf-shadow'
};
...
})(jQuery);
superfish 在它的声明中引用了它自己。这不会导致无限递归吗?