最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年10月08日 16:43:53   投稿:whsnow  
面向對象的高級語言中,都有方法的重載,在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(內部屬性) 本身是一個數組,其作用就是存放方法的實際參數。

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

復制代碼 代碼如下:

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

相關文章

最新評論

永新县| 措勤县| 孟州市| 新龙县| 黄龙县| 纳雍县| 涟水县| 乌恰县| 夏邑县| 房产| 台东县| 安仁县| 灵丘县| 西林县| 饶阳县| 新乡县| 河东区| 延津县| 凤冈县| 齐齐哈尔市| 马尔康县| 滨海县| 双牌县| 腾冲县| 湟源县| 晋城| 洮南市| 阳谷县| 常德市| 宣威市| 子长县| 乌什县| 合作市| 台安县| 大安市| 化德县| 肃宁县| 营口市| 尚义县| 永靖县| 同德县|