我试图从外部javascript中导入一组坐标。 我必须在构造函数中包含大约78.740个元素,但firefox只是抛出一个错误:
“太多的构造函数参数”
有没有人有任何想法?javascript太多的构造函数参数
这是我的代码:
function CreateArray() { return new Array( ... ... ... 78.740 elements later ... ); }
我试图从外部javascript中导入一组坐标。 我必须在构造函数中包含大约78.740个元素,但firefox只是抛出一个错误:
“太多的构造函数参数”
有没有人有任何想法?javascript太多的构造函数参数
这是我的代码:
function CreateArray() { return new Array( ... ... ... 78.740 elements later ... ); }
尝试数组文本,它为我工作(成功测试了万件):
function CreateArray() {
return [
...
];
}
Gah,我输入太慢。 :-) – 2010-09-12 11:34:34
+1附注,最大阵列长度是4,294,967,295,但怀疑任何人会达到那个^^ – BGerrissen 2010-09-12 11:44:47
与2,000,000项Firefox引发异常“脚本堆栈空间配额已用尽” – pepkin88 2010-09-12 11:51:06
可能是运行内存的限制,不能肯定。
如何尝试推送()到一个数组的值,而不是一次全部初始化它们?将其分成更小的数据块以添加到数组中,而不是将其全部添加到一个命令中。
var a = [];
a.push(1,2,3,4,5,6,7,8,9,10);
a.push(1,2,3,4,5,6,7,8,9,10);
a.push(1,2,3,4,5,6,7,8,9,10);
a.push(1,2,3,4,5,6,7,8,9,10);
// etc...
return a;
虽然它们的存在,从来不使用数组或对象的构造,使用的文字在“新的磁盘阵列/对象” 。 – BGerrissen 2010-09-12 11:48:16
+1代码示例中的LOL – 2010-09-12 12:13:00
BGerrissen:这有点教条。我同意文字通常是可取的,但有时候'Array'构造函数是有用的。例如:'var hugeString = new Array(1e6).join(“x”);' – 2010-09-12 15:15:07