欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中的方法重載實(shí)例

 更新時(shí)間:2015年03月16日 11:31:53   投稿:junjie  
這篇文章主要介紹了JavaScript中的方法重載實(shí)例,本文直接給出重載實(shí)例,需要的朋友可以參考下

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

Javasciprt里面本生是沒(méi)有方法重載的功能,以前很多人的做法可能是直接少傳參數(shù)過(guò)去,然后在根據(jù)參數(shù)是否為 “undefined” 未定義來(lái)決定怎么處理,從而實(shí)現(xiàn)類(lèi)似方法重載的功能。

例如:

復(fù)制代碼 代碼如下:

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上面看到了一篇關(guān)于Javascript方法重載的寫(xiě)法,它是能過(guò)另外一個(gè)方法來(lái)實(shí)現(xiàn)的。

看一下這個(gè)代碼:

復(fù)制代碼 代碼如下:

// 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(”沒(méi)有參數(shù)”);
    });

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

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

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


看,這樣一來(lái)就簡(jiǎn)單了……

相關(guān)文章

最新評(píng)論