DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> JavaScript中的方法重載實例
JavaScript中的方法重載實例
編輯:JavaScript綜合知識     

 這篇文章主要介紹了JavaScript中的方法重載實例,本文直接給出重載實例,需要的朋友可以參考下

   

.NET裡面的方法重載用著的確很方便,哪Javascript裡面能不能也哪樣做呢?

Javasciprt裡面本生是沒有方法重載的功能,以前很多人的做法可能是直接少傳參數過去,然後在根據參數是否為 “undefined” 未定義來決定怎麼處理,從而實現類似方法重載的功能。

例如:

 

代碼如下:
var showMessage = function(name,value,id){
if(id != ”undefined”){
alert(name+value+id);
}
else if(value != ”undefined”){
alert(name + value);
}
else{
alert(name);
}
}

 

showMessage(”哈哈”);
showMessage(”哈哈”,”??”);
showMessage(”哈哈”,”??”,124124);

 

今天在Ajaxian上面看到了一篇關於Javascript方法重載的寫法,它是能過另外一個方法來實現的。

看一下這個代碼:

 

代碼如下:
// addMethod - By John Resig (MIT Licensed)
function addMethod(object, name, fn){
var old = object[ name ];
object[ name ] = function(){
if ( fn.length == arguments.length ){
return fn.apply( this, arguments );
}
else if ( typeof old == 'function' ){
return old.apply( this, arguments );
}
}
};

 

var UserInfo = function(){
addMethod(this,”find”,function(){
alert(”沒有參數”);
});

addMethod(this,”find”,function(name){
alert(”傳入的參數是一個,叫 ”+name);
});

addMethod(this,”find”,function(name,value){
alert(”傳入了兩個參數,一個叫 name=”+name+” 一個叫 value=”+value);
});
};

var userinfo = new UserInfo();
userinfo.find();
userinfo.find('我是誰?');
userinfo.find('某某某','1512412514');


看,這樣一來就簡單了
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved