一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript function調(diào)用時(shí)的參數(shù)檢測常用辦法

復(fù)制代碼 代碼如下:
var f1 = function(p1,p2,p3){
    switch(arguments.length){
        case 0:
            alert("無參版本的f1")
            break;
        case 1:
            alert("1個(gè)參數(shù)版本的f1:" + p1)
            break;
        case 2:
            alert("2個(gè)參數(shù)版本的f1:" + p1 + "," + p2)
            break;
        case 3:
            alert("3個(gè)參數(shù)版本的f1:" + p1 + "," + p2 + "," + p3)
            break;
        default:
            alert("不支持多于3個(gè)參數(shù)的調(diào)用!");
            break;
    }
}
f1();
f1("1");
f1("a",100);
f1("1","2","3");
f1("1","2","3","4")

2.參數(shù)個(gè)數(shù)檢測
js引擎同樣也不會(huì)在function調(diào)用時(shí),強(qiáng)制檢查參數(shù)個(gè)數(shù),所以只能自己處理,示例代碼:
復(fù)制代碼 代碼如下:
var fnMustOneParam = function(p){

    //檢測有沒有參數(shù)傳入
    if (typeof p=="undefined"){
        alert("fnMustOneParam必須要有參數(shù)傳入,才能調(diào)用(1)!");
        return ;
    }
    //也可以寫成這樣
    if (arguments.length==0){
        alert("fnMustOneParam必須要有參數(shù)傳入,才能調(diào)用(2)!");
        return;
    }
    //檢測參數(shù)個(gè)數(shù)
    if (arguments.length!=0){
        alert("fnMustOneParam只能傳入一個(gè)參數(shù)調(diào)用!");
        return;
    }
    //to do...
}
//fnMustOneParam(1,3,4);

3.參數(shù)基本類型檢測
js引擎同樣更不會(huì)檢測參數(shù)的類型,如果您希望對參數(shù)的基本類型做些限制,可以利用typeof 來判斷基本類型
復(fù)制代碼 代碼如下:
var fnString = function(s){
    if (arguments.length!=1){
        alert("參數(shù)個(gè)數(shù)不匹配!");
        return ;
    }
    if (typeof s != "string"){
        alert("只能傳入string類型的參數(shù)!");
        return ;
    }

}
//fnString(123);

4.自定義類的參數(shù)類型檢測
第3條所提到的方法,只能檢測參數(shù)的基本類型,如果是自定義類的參數(shù),如果用typeof運(yùn)算符號(hào),只能得到object的類型檢測結(jié)果,這時(shí)可利用instanceof運(yùn)算符號(hào)來解決
復(fù)制代碼 代碼如下:
function Person(name,age){
    this.name = name;
    this.age = age;
}
function fnPerson(p){
    if (arguments.length=1 && p instanceof Person){
        alert("fnPerson調(diào)用成功,p.name=" + p.name + ",p.age=" + p.age);
    }
    else{                    
        alert("必須傳入一個(gè)Person類型的參數(shù)才能調(diào)用!");
    }
}
fnPerson("asdf");
fnPerson(new Person('菩提樹下的楊過',30))

JavaScript技術(shù)javascript function調(diào)用時(shí)的參數(shù)檢測常用辦法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 天天天做天天天天爱天天想 | 精品国产第一国产综合精品 | 国产玖玖在线 | 高清视频黄色录像免费 | 图片专区亚洲 欧美 另类 | 色中文在线 | 欧美日韩一二三四区 | www.日本高清| 亚洲国产成人久久精品动漫 | 亚洲图片在线 | 四虎海外影库www4hu | 国产精品视频第一区二区三区 | 日韩美女一区二区三区 | 亚洲精品tv久久久久 | 国产成人一区免费观看 | 国产精品外围在线观看 | 91精品视频免费在线观看 | 国产亚洲欧洲国产综合一区 | 国产亚洲欧美在在线人成 | 欧美日韩国产一区二区三区不卡 | 国产精品自在线 | 床戏免费网站 | 国产日产欧产精品推荐推荐 | 久久国产乱子伦精品免费午夜 | 福利一区二区在线观看 | 国产在线每日更新 | 国产三级自拍视频 | 国产乱子伦一区二区三区 | 91伊人影院| 香蕉成人啪国产精品视频综合网 | 精品精拍国产日韩26u | 一区二区视频在线 | 国产身材极品喷水 在线播放 | 色婷婷一区二区三区四区成人网 | 一级毛片特黄久久免费看 | 深爱五月激情网 | chinese国产一区二区 | 97成人在线视频 | 成人激情在线 | 国产成人精品一区二区秒拍 | 亚洲一区2区三区4区5区 |