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

首頁 > 語言 > JavaScript > 正文

JavaScript中如何通過arguments對象實現對象的重載

2024-05-06 16:05:45
字體:
來源:轉載
供稿:網友
js 中不存在函數的重載,但卻可以通過arguments對象實現對象的重載,下面有個不錯的示例,大家可以參考下

復制代碼 代碼如下:


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*
*1.js 中不存在函數的重載
2.js函數定義時候的形參個數,和執行時候時,傳遞的實參的個數可以不一樣。
3.js執行時候,會將真實的參數,封裝成組arguments

*/
function add(a){
return a+10;
}
var add=new Function("a","return a+10");
//alert(add(5));
function add(num1,num2){
return num1+num2;
}
var add=new Function("num1","num2","return num1+num2");
alert(add(5,6));
alert(add(5));//這樣調用的結果是NaN:因為調用的時后定義的兩個參數的函數
//也就是雖然有var的聲明,但是javascript中只要變量名稱相同,后定義的就會覆蓋
//之前定義的=======得出的結論就是js中不存在函數的重載。

//-------------------用arguments對象模擬方法的重載-----
//-依據不同的參數個數,調用不同的代碼塊,最多25個參數
function addNum(){
alert(arguments.length);
for(var x=0;x<arguments.length;x++){
alert(arguments[x]);
//這個對象只能愛函數體內
}
if(arguments.length==1){
return arguments[0]+10;
}else if(arguments.length==2){
return arguments[0]+arguments[1];
}else{
return "參數錯誤,請核對";
}
}
var value=addNum(10,20,30);
alert("函數的返回值:"+value);//結果value的值就是:"參數錯誤,請核對"
//事實上,是通過參數的判斷,去實現調用不同的函數功能,并且返回不同的值;這樣做類似的實現了java中的重載
//但是本質上,js中是沒有重載的,相同的變量,在不同的位置出現,若賦值后,必然會覆蓋前面聲明的變量。當然
//這里面排除掉函數內部的量和函數外部變量的這一種關系。
</script>
</head>
<body>

</body>
</html>

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

圖片精選

主站蜘蛛池模板: 临潭县| 红桥区| 博湖县| 资中县| 讷河市| 环江| 河北省| 莱阳市| 连州市| 临潭县| 德江县| 务川| 沾益县| 台湾省| 额敏县| 贡嘎县| 汝南县| 丹阳市| 乃东县| 广昌县| 昭平县| 中卫市| 高安市| 米易县| 宁夏| 天祝| 承德县| 嘉荫县| 丰县| 宜兰市| 资兴市| 新乡市| 明光市| 枣强县| 昭平县| 开远市| 泸定县| 都匀市| 嘉义市| 黄陵县| 丰台区|