我不得不遗漏一些东西. jQuery插件教程在“Namespacing”中找到了
here – > “插件方法”部分,有潜伏在下面的插件声明.我没有得到的是方法变量的范围;我的意思是,不应该将方法定义为工具提示中的var吗?一旦这个匿名函数执行,如果我理解正确,方法就会超出范围,因为它被定义为函数中的var.当工具提示被调用时,工具提示如何引用将超出范围的var方法?我错过了什么?
(function( $){ var methods = { init : function( options ) { // THIS },show : function( ) { // IS },hide : function( ) { // GOOD },update : function( content ) { // !!! } }; $.fn.tooltip = function( method ) { // Method calling logic if ( methods[method] ) { return methods[ method ].apply( this,Array.prototype.slice.call( arguments,1 )); } else if ( typeof method === 'object' || ! method ) { return methods.init.apply( this,arguments ); } else { $.error( 'Method ' + method + ' does not exist on jQuery.tooltip' ); } }; })( jQuery );