国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中的方法重載實例

2024-05-06 16:16:58
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了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');


看,這樣一來就簡單了……

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 康平县| 股票| 澳门| 土默特右旗| 昂仁县| 禹州市| 伊吾县| 永仁县| 文昌市| 鸡东县| 措美县| 左贡县| 方城县| 彝良县| 平阴县| 德钦县| 通许县| 桃园县| 湖口县| 衡阳市| 万源市| 眉山市| 河源市| 武鸣县| 巩义市| 易门县| 田阳县| 德化县| 体育| 洛隆县| 乐东| 米脂县| 灌阳县| 静乐县| 重庆市| 迁安市| 新疆| 安西县| 湘西| 乳山市| 日照市|