函式的擴充套件 函式引數預設值得位置

2021-08-16 09:52:29 字數 689 閱讀 7440

通常情況下,定義了預設值的引數,應該是函式的尾引數。因為這樣比較容易看出來,到底省略了哪些引數。如果非尾部的引數設定預設值,實際上這個引數是沒法省略的。

// 例一

function f(x = 1, y)

f() // [1, undefined]

f(2) // [2, undefined])

f(, 1) // 報錯

f(undefined, 1) // [1, 1]

// 例二

function f(x, y = 5, z)

f() // [undefined, 5, undefined]

f(1) // [1, 5, undefined]

f(1, ,2) // 報錯

f(1, undefined, 2) // [1, 5, 2]

上面**中,有預設值的引數都不是尾引數。這時,無法只省略該引數,而不省略它後面的引數,除非顯式輸入undefined

如果傳入undefined,將觸發該引數等於預設值,null則沒有這個效果。

function foo(x = 5, y = 6) 

foo(undefined, null)

// 5 null

函式的擴充套件 函式引數的預設值

基本用法 es6之前不能直接為函式的引數指定預設值,只能採用變通的方法。function log x,y log hello hello world log hello china hello china log hello hello world上面 檢查函式log的引數y有沒有賦值,如果沒有,則...

函式(引數,預設值)

js定義函式引數沒有非常嚴格的要求,可以有也可以沒有,在呼叫的時候也是,引數可以有可以沒有,也可以和定義時的引數個數不一致 沒有給count傳入引數,預設為10 也可以直接在引數中給count賦值 但是特別注意的是不能給count傳入0,因為0與undefined都是false,因此count傳入的...

函式引數預設值

include 函式預設值為0 intmul int x 0 c語言編譯器會報錯,c 不會 intmain int argc,char ar 預設值不需要在定義時給出,宣告時給出即可 intmul int x 函式預設引數的規則 引數的預設值必須從右向左匹配 函式呼叫時使用了預設值,則後續引數必須使...