四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

JavaScript 的方法重載效果

JavaScript 的方法內(nèi),有個叫做 arguments 的變量數(shù)組,它是只讀的,所有實際傳入的參數(shù)變量都
放在了里面,通過它,我們可以對傳入的參數(shù)進行類型檢查,從而實現(xiàn)重載的效果。
判斷一個變量的類型有兩種方法。
1,用 typeof 語句:
復制代碼 代碼如下:
function check(){
if(typeof arguments[0] == 'string')
alert('你傳入的參數(shù)是個字符串');
else if(typeof arguments[0] == 'number')
alert('你傳入的參數(shù)是個數(shù)字');
}

2,用所有 JavaScript 變量都帶有的一個屬性 constructor,這個屬性指向用來構造該變量的構造函數(shù):
復制代碼 代碼如下:
function check(){
if(arguments[0].constructor == String)
alert('你傳入的參數(shù)是個字符串');
else if(arguments[0].constructor == Number)
alert('你傳入的參數(shù)是個數(shù)字');
}

對照表:
typeof constructor
---------------------------
string String
number Number
object Object
function Function
boolean Boolean
object Array
object User
通過這個對照表可以看出用 typeof 不能準確的判斷出具體的類型,所以我們用 constructor 來進行判
斷。
首先我們定義一個用來判斷參數(shù)類型和個數(shù)的方法
復制代碼 代碼如下:
function checkArgs(types,args){
// 檢查參數(shù)個數(shù)
if(types.length != args.length){
return false;
}
// 檢查參數(shù)類型
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
return false;
}
}
return true;
}

我們定義一個方法對上面的方法進行應用
復制代碼 代碼如下:
function show(){
// 處理參數(shù)是一個字符串的調(diào)用
if(checkArgs([String],arguments)){
alert(arguments[0]);
}
// 處理參數(shù)是一個字符串和一個數(shù)字的調(diào)用
else if(checkArgs([String,Number],arguments)){
var s = '';
for(var i=0; i<arguments[1]; i++){
s+=arguments[0];
}
alert(s);
// 參數(shù)不符合要求時,給予提示
}else{
alert('不支持的參數(shù)');
}
}

當我們定義的 JavaScript 方法對參數(shù)要求比較嚴格時,就可以用這樣的方式來編寫代碼。

JavaScript技術JavaScript 的方法重載效果,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 念亲恩简谱| 松永纱奈在线| 白鹅课文| 大乔未久电影| 徐情| 听鬼故事长篇超吓人2000字| 拨萝卜电视剧视频歌高清在线观看大牛 | 桥梁工程施工方案| 嫦娥奔月读后感50字| 小小少年电影简介| 电影《天启》| 美女网站免费观看视频| 妻子的电影| 潇洒走一回广场舞完整版| 小绿人| 女朋友的舅妈| 好快…好快的| 生死相随| 音乐会电视剧免费观看完整版| 汪鹏| 命运航班| 刘烨主演的电视剧| 超越演员表| 电影青春期| 单身情歌 歌词| 电影 英雄| 《阿卡鲁达》在线播放| 双生姐妹| 时来运转电影| 美女自卫网站| 沈月个人详细简历| 触底反弹电影| 中国式离婚演员表| 韩世雅的电影| 单招在线咨询| 薛昊婧演过的电视剧| 黑木美纱| 国家干部电视剧| 食戟之灵第二季| 六年级上册美术教案人教版| trainspotting|