.NET里面的方法重載用著的確很方便,哪Javascript里面能不能也哪樣做呢?
Javasciprt里面本生是沒有方法重載的功能,以前很多人的做法可能是直接少傳參數過去,然后在根據參數是否為 “undefined” 未定義來決定怎么處理,從而實現類似方法重載的功能。
例如:
showMessage(”哈哈”);
showMessage(”哈哈”,”??”);
showMessage(”哈哈”,”??”,124124);
今天在Ajaxian上面看到了一篇關于Javascript方法重載的寫法,它是能過另外一個方法來實現的。
看一下這個代碼:
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');
新聞熱點
疑難解答