首先,我不知道如何將問題「標題」短語,如果我在這裏混淆每個人的標題,抱歉。jQuery/javascript參數處理問題
反正我看到這個代碼在jQuery的http://docs.jquery.com/Plugins/Authoring
(function($){
var methods = {
init : function(options) {
return this.each(function(){
var $this = $(this),
data = $this.data('tooltip'),
tooltip = $('<div />', {
text : $this.attr('title')
});
// If the plugin hasn't been initialized yet
if (! data) {
/*
Do more setup stuff here
*/
$(this).data('tooltip', {
target : $this,
tooltip : tooltip
});
}
});
},
destroy : function() {
return this.each(function(){
var $this = $(this),
data = $this.data('tooltip');
// Namespacing FTW
$(window).unbind('.tooltip');
data.tooltip.remove();
$this.removeData('tooltip');
})
},
reposition : function() { // ... },
show : function() { // ... },
hide : function() { // ... },
update : function(content) { // ...}
};
$.fn.tooltip = function(method) {
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);
我的問題的存在是我不明白爲什麼我們需要這個if語句?
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
}
或者換句話說,在什麼情況下,我們將在像「的方法[法]」關於示範基地參數傳遞?
謝謝!
謝謝大家!所有的答案在某種程度上是有幫助的,我感謝大家的及時答覆^^ – forestclown 2011-03-07 08:34:40