首頁 >web前端 >js教程 >javascript中透過arguments參數偽裝方法重載_javascript技巧

javascript中透過arguments參數偽裝方法重載_javascript技巧

WBOY
WBOY原創
2016-05-16 16:34:411452瀏覽

在許多物件導向的高階語言中,都有方法的重載。而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("小明", "小花");
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn