如何在javascript函数中传递一个OPTIONAL数组作为参数?

如何在javascript函数中传递一个OPTIONAL数组作为参数?,javascript,parameters,Javascript,Parameters,我想在Javascript中创建一个函数,该函数有一个可选数组作为参数 我一直在关注这个问题,但它并没有解决我的问题 函数应如下所示: function myname (par1, par2, par3=[]){ //some script } 还是像这样 function myname (par1, par2, par3=false){ //some script } 有什么帮助吗 注意:par3是一个参数,如果有,必须是一个数组 换句话说, 我希望javascript中的函数与php中的

我想在Javascript中创建一个函数,该函数有一个可选数组作为参数

我一直在关注这个问题,但它并没有解决我的问题

函数应如下所示:

function myname (par1, par2, par3=[]){
//some script
}
还是像这样

function myname (par1, par2, par3=false){
//some script
}
有什么帮助吗

注意:par3是一个参数,如果有,必须是一个数组

换句话说,

我希望javascript中的函数与php中的函数类似:

function myname ($par1,$par2, array $par3=NULL){
// some code        
}

您需要使用
函数
,而不是
函数
。你的代码有打字错误

function myname (par1, par2, par3=[]){
//some script
};

这完全取决于你的函数在做什么。如果它期望
par3
是一个数组,那么前者就是。具体来说,你对另一篇文章有什么问题。如果你使用第一个示例,
par3
如果你不定义它,它将始终是一个空数组。在第二个示例中,
par3
如果不定义它,它将始终为false。@DanielA.White,post show
delete\u after=false
。这对我不起作用,因为我的第三个参数必须是数组([]),并且必须是false(=false)。嗨,这是一个打字错误。但这不是问题所在。在你的回答中,如果我叫我的名字(3,4),它会工作吗?是的,它会工作。我刚刚测试过。它没有按预期工作。它称为myname(2,3);或我的名字(2,3,7);它不应该在第二种情况下工作,因为p3必须是arrayJavascript是一种动态语言,您可以更改属性的类型。这是一种语言特征。但是,您可以检查传递的参数是否不是数组,然后忽略该参数
Array.isArray(param3)
Ok我试图避免检查。如果没有办法,必须进行检查。我做了一个更新来与php进行比较。