是否可以执行以下操作(或等效操作):
function a(foo, bar[x]){
//do stuff here
}
提前致谢。
答案 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);
希望有所帮助