鍍金池/ 問答/數(shù)據(jù)庫  HTML/ 關(guān)于js的默認(rèn)參數(shù)問題

關(guān)于js的默認(rèn)參數(shù)問題

如下,有這樣一個方法,接受4個參數(shù) x y k j。其中k j的默認(rèn)值為1 ,2

 get: function (x, y, k = 1, j = 2){}

當(dāng)想省略后面兩個參數(shù)的時候可以這樣調(diào)用

this.get(1,2)

現(xiàn)在我如果只想省略第三個參數(shù),我應(yīng)該怎么寫呢?
這樣寫好像也沒法知道哪個參數(shù)被省略了

this.get(1,2,3)
回答
編輯回答
毀了心

this.get(1,2,null,3)

2018年5月22日 00:04
編輯回答
維他命

傳一個對象,代碼可讀性更好,傳參也更加自由

function test (params) {
    let x = params.x || 'default'
    let y = params.y || 'default'
    let z = params.z || 'default'
}

test({
    x: 1,
    z: 3
})

es6還可以用解構(gòu)賦值的方式

2017年3月2日 23:25
編輯回答
挽青絲
this.get(1,2,undefined,3) 

建議寫成下面的樣子

get: function ({x,y,k = 1, j= 2} = {}){}
this.get({x:1,y:2,j:3})
2018年2月6日 14:17