Javascript参数:具有许多默认值的参数

ein*_*ein 1 javascript parameters function

我有一个函数有许多参数和许多默认值.

function foo(p1 ,p2, p3, p4, p5, p6){
    var p1 = p1 || 'default1'; 
    var p2 = p2 || 'default2'; 
    var p3 = p3 || 'default3'; 
    var p4 = p4 || 'default4'; 
    var p5 = p5 || 'default5'; 
    var p6 = p6 || 'default6'; 
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能成功只定义像p1和p6而不是其余的?

我知道在Scala你可以做到 foo(p1='something1',p6='something6')

SLa*_*aks 5

您应该使用具有参数属性的对象.

例如:

function foo(options) {
    var p1 = options.p1 || 'default1'; 
    ...
}

foo({ p1: 3, p6: "abc" });
Run Code Online (Sandbox Code Playgroud)