我們的學習或是工作中會牽涉到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框架)。
重複使用預設參數
預設參數可供之後的預設參數使用。請看下列程式碼:
function foo(num1 = 9, num2 = num1 + 8){ console.log(num2); } foo();
在上面的程式碼中,使用num1的預設值來計算num2的預設值。呼叫函數foo時將得到以下輸出:
#結論
##JavaScript預設參數在寫函數時非常有用。在呼叫函數時,如果缺少參數,則預設參數功能允許你為函數參數分配預設值,而不是將其定義為undefined。 相關閱讀:以上是了解JavaScript,函數中的預設參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!