我正在用 80000 个元素在 javascript 中创建 Array() 喜欢
var arrRecWorkOrderNo = Array(1,2,3,,,,,,,,,,,,80000);
但不幸的是,我收到一个错误:Uncaught SyntaxError: Too many arguments in function call (only 32766 allowed)
我该如何解决?
我正在用 80000 个元素在 javascript 中创建 Array() 喜欢
var arrRecWorkOrderNo = Array(1,2,3,,,,,,,,,,,,80000);
但不幸的是,我收到一个错误:Uncaught SyntaxError: Too many arguments in function call (only 32766 allowed)
我该如何解决?
不要使用Array
,只需将其定义为:
var arrRecWorkOrderNo = [1,2,3,,,,,,,,,,,,80000];
当您将其作为构造函数的参数时,Javascript 的限制为 32766(有符号短)。
不要使用Array
构造函数,请参阅 Ken 的正确用法答案。使用参数调用时,数组构造函数有奇怪的行为。
但是,如果您需要在一个函数中包含超过32766 个参数(真的没有任何借口),您可以执行以下操作:
var a = Array.apply(null, [1,,,,,,,,,,,,,,80000];
apply
函数将第一个参数设置为this
对象,将第二个参数设置为arguments
.
注意:这只是一个概念证明,没有人应该有那么多参数,只接受一个数组。