如何为JavaScript函数的参数设置默认值并使用较少的参数调用它?

Kan*_*iya 2 javascript

我有一个功能

function test(name)
{

}
Run Code Online (Sandbox Code Playgroud)

我叫它 test("kanishka");

在一种情况下,我想将两个参数(nameage)传递给此函数:

test("kanishka",27);
Run Code Online (Sandbox Code Playgroud)

在PHP中,我可以通过将默认值设置为age:

test(name , age = NULL)
Run Code Online (Sandbox Code Playgroud)

在JavaScript中有什么方法可以做到这一点吗?

我试过了

test(name , age = NULL) 
Run Code Online (Sandbox Code Playgroud)

但它会给出错误.

我可以宣布2个功能

test(name) and  test(name , age = NULL)
Run Code Online (Sandbox Code Playgroud)

但它重复了代码.

或者我可以更改我之前的函数调用,它将一个参数带到两个参数,给出一个默认值age:

test("kanishka" , 0)
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我必须找到所有函数调用并更改它们.

Gab*_*oli 8

只需更改功能的定义即可

test(name, age)
{

}
Run Code Online (Sandbox Code Playgroud)

该函数的所有现有用途将分配到ageundefined价值..

每当您使用第二个参数时,它将被分配给age参数.

如果要将默认值更改为

test(name, age)
{
    age = (age === undefined) ? 0 : age; // change 0 to the default value you want..
}
Run Code Online (Sandbox Code Playgroud)