国产探花免费观看_亚洲丰满少妇自慰呻吟_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("小明", "小花");

 

 

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

圖片精選

主站蜘蛛池模板: 濮阳市| 科尔| 三都| 新田县| 牟定县| 南汇区| 孟连| 婺源县| 河源市| 临洮县| 平利县| 酒泉市| 清涧县| 蒙山县| 如皋市| 潞城市| 鹿泉市| 天柱县| 宜阳县| 龙胜| 万载县| 新竹市| 嘉鱼县| 舟曲县| 枞阳县| 清远市| 佛山市| 巫山县| 红河县| 宁河县| 滦平县| 从江县| 咸丰县| 页游| 永仁县| 九龙城区| 长子县| 山西省| 元氏县| 和林格尔县| 白沙|