首頁 >web前端 >js教程 >了解JavaScript,函數中的預設參數

了解JavaScript,函數中的預設參數

php中世界最好的语言
php中世界最好的语言原創
2017-11-18 09:33:051727瀏覽

我們的學習或是工作中會牽涉到JavaScript,那麼也一定要了解JavaScript,函數是JavaScript很大一部分組成。而且函數千變萬化,這篇文章有助於你了解並且掌握JavaScript,讓我們來好好研究一下。
JavaScript函數,可以有預設參數值。透過預設函數參數,你可以初始化帶有預設值的正式參數。如果不初始化具有某些值的參數,則該參數的預設值為undefined。

請看下列程式碼:

function foo(num1){
    console.log(num1);
}
foo();

在呼叫函數foo時,你沒有傳遞任何參數,因此變數num1的預設值設定為undefined。但是,有時你可能需要設定預設值而不是undefined。過去,最好的策略是測試參數值undefined,然後指派一個值。所以,在上面的例子中,如果你想要將num1的預設值設為9,那麼你可以按照以下程式碼所示的方式做:

function foo(num1) {
    if (num1 === undefined) {
        num1 = 9;
    }
    console.log(num1);
}
foo();

ECMAScript 6引入了函數的預設參數。使用ECMA 2015的預設參數功能,你將不再需要檢查未定義的參數值。現在,你可以將9設定為參數本身的預設值。你可以重寫上述函數以使用預設值,如下所示:

function foo(num1 =9) {
    console.log(num1);
}
foo();

對於函數foo,如果num1參數的值未被傳遞,那麼JavaScript將設定9為num1的默認值。

檢查未定義的參數

即使你在呼叫函數時明確地傳遞undefined作為參數值,參數值也會設定為預設值。

function foo(num1 =9) {
    console.log(num1);
}
foo(undefined);

在上面的程式碼中,你傳遞undefined為num1的值;因此,num1的值將會被設定為預設值9。

執行階段計算預設值

JavaScript函數預設值在執行時計算。為了更好地理解這一點,請看以下程式碼:

function foo(value = koo()) {
    return value;
}
function koo() {
     return "Ignite UI";
}
var a = foo();
console.log(a);

在函數foo中,參數值的預設值設定為函數koo。在運行時呼叫函數foo時,將計算函數koo。呼叫foo函數後,你會得到如下圖的輸出(在這個例子中,我們使用了Ignite UI框架)。

 了解JavaScript,函數中的預設參數

重複使用預設參數

預設參數可供之後的預設參數使用。請看下列程式碼:

function foo(num1 = 9, num2 = num1 + 8){
    console.log(num2);
}
foo();

在上面的程式碼中,使用num1的預設值來計算num2的預設值。呼叫函數foo時將得到以下輸出:


了解JavaScript,函數中的預設參數

#結論

##JavaScript預設參數在寫函數時非常有用。在呼叫函數時,如果缺少參數,則預設參數功能允許你為函數參數分配預設值,而不是將其定義為undefined。

相關閱讀:

JS中foreach與each的簡單介紹


JS頁面刷新的方法總結


JavaScript中正規表示式的意義與使用


#

以上是了解JavaScript,函數中的預設參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn