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

首頁 > 語言 > JavaScript > 正文

javascript中通過arguments參數偽裝方法重載

2024-05-06 16:09:26
字體:
來源:轉載
供稿:網友
面向對象的高級語言中,都有方法的重載,在js中可以通過arguments這個參數來偽裝成函數重載,具體如下
 
 

在很多面向對象的高級語言中,都有方法的重載。而javascript沒有方法重載這個概念。但是我們可以通過arguments這個參數來偽裝成函數的重載

在模擬之前我們先看一下代碼:

復制代碼代碼如下:

//表面上沒有聲明形式參數的函數
function fun() { 
alert("示例代碼");
}
fun("小明", 100, true);//自己寫了三個實際參數

通過結果我們看到,即使我們聲明函數的時候沒有定義形式參數,在調用方法的時候,我們也是可以寫實際參數的。(實際上形式參數是寫給程序員調用函數時看的)

 

我們可以在代碼中可以得到實際參數嗎?答案是肯定的:請看代碼:

復制代碼代碼如下:

//表面上沒有聲明形式參數的函數
function fun() {
alert(arguments[0]);//得到第一個實際參數的值。
alert(arguments[1]);//得到第二個實際參數的值。
alert(arguments[2]);//得到第三個實際參數的值。
alert(arguments.length);//得到實際參數的個數。
alert("示例代碼");
}
fun("小明", 100, true);//自己寫了三個實際參數

通過代碼我們就可以知道arguments(內部屬性) 本身是一個數組,其作用就是存放方法的實際參數。

 

有了以上知識點后,模擬方法重載就有思路了。我們可以通過實際參數的個數來作個判斷,從而執行不同的邏輯代碼。簡單代碼如下:

復制代碼代碼如下:

function fun() {
if (arguments.length == 0) {
alert("執行沒有實際參數的代碼");
}
else if(arguments.length==1)
{
alert("執行傳入一個實際參數的代碼");
}
else if(arguments.length==2)
{
alert("執行傳入兩個實際參數的代碼");
}
}
fun();
fun("小明");
fun("小明", "小花");

 

 

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

圖片精選

主站蜘蛛池模板: 枣庄市| 吴堡县| 东安县| 聊城市| 武汉市| 湖口县| 科技| 法库县| 上饶县| 嘉定区| 平塘县| 波密县| 简阳市| 固镇县| 手机| 肥西县| 博爱县| 大城县| 易门县| 新疆| 益阳市| 稷山县| 牡丹江市| 绥阳县| 荆门市| 山东| 都兰县| 和静县| 江源县| 定边县| 莱州市| 枣强县| 抚州市| 和田县| 阜新市| 上犹县| 衡阳县| 临武县| 友谊县| 延川县| 崇左市|