在js中使用3个数组作为函数参数
Use 3 arrays as function parameter in js
我想使用一些数组作为函数参数。我写了这个代码,但不起作用。请帮我
我不知道阵列的数量
function func2(x,y,z)
{
alert(x[1]);
alert(y[1]);
alert(z[1]);
}
function func1()
{
a = [1,2,3]
b = [3,4,5]
c = [5,6,7]
func2(a,b,c);
}
您的func2
函数正在调用自己。此外,使用var
是避免意外创建全局变量的好主意:
function func2()
{
var a = [1,2,3],
b = [3,4,5],
c = [5,6,7];
func1(a,b,c);
}
更新如果您有更新的问题,如果您想创建一个接受可变数量参数的函数,您需要访问arguments
对象:
function func2()
{
alert("There are " + arguments.length + " arguments");
}
arguments
对象可以像数组一样访问(尽管它实际上不是数组)。因此,要打印每个数组中的第二个元素(记住数组索引从0开始),您可以使用以下内容:
function func2()
{
for (var i = 0; i < arguments.length; i++)
alert(arguments[i][1]);
}
另一种策略是只接受一个数组数组(也称为多维数组,尽管从技术上讲,JavaScript不支持多维数组),如下所示:
function func2(a)
{
for (var i = 0; i < a.length; i++)
alert(a[i][1]);
}
function func1()
{
var a = [1,2,3],
b = [3,4,5],
c = [5,6,7];
func2([a,b,c]); // notice the […] around the parameters
}
function func1(x,y,z)
{
alert(x[1]);
alert(y[1]);
alert(z[1]);
}
function func2()
{
var a = [1,2,3];
var b = [3,4,5];
var c = [5,6,7];
func1(a,b,c);
}
如果我能很好地理解您的想法,那么您必须使用arguments
来迭代动态数量的参数。假设只将数组传递给func2
:
function func2() {
for (var i = 0; i < arguments.length; i++) {
alert(arguments[i][1]);
}
}
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 为什么不'我们在javascript中使用函数参数的数据类型
- 使用闭包共享构造函数参数
- 函数参数的值错误
- 当一个重要的构造函数参数丢失时应该发生什么
- 阻止ReSharper将JavaScript函数参数放到新行中
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使构造函数参数具有ES6类方法的特权
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- Windows.Networking.EndpointPair构造函数参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 大括号中的Javascript函数参数
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 将JSON字符串转换为函数参数
- eval()读取函数参数有多糟糕
- Javascript不能在一个命令中使用函数参数
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- ES6类构造函数参数
- 是否可以在javascript函数参数列表中调用多个函数