函数参数中的数组?

时间:2014-08-21 17:30:59

标签: javascript

是否可以执行以下操作(或等效操作):

function a(foo, bar[x]){
    //do stuff here
}

提前致谢。

2 个答案:

答案 0 :(得分:4)

由于JavaScript不是静态类型,因此您无法坚持使用数组。你可以这样做:(远非完美,但通常做的工作)

function a(foo, bars) {
  if (!Array.isArray(bars))
    bars = [bars];

  // now you are sure bars is an array, use it
}

我发现命名数组是复数,例如"杆"而不是" bar",帮助,YMMV。

答案 1 :(得分:1)

是的,有可能,因为你已经注意到你从来没有指定你的变量的类型,你只做var a = 1所以这里是相同的情况,你不必告诉javascript它是一个数组,只是通过它,它会工作

function myFunction(foo, array){

}

和电话

var myFoo = { name: 'Hello' };
var myArray = [ 1, 2 ]
myFunction(myFoo, myArray);

希望有所帮助