在 JavaScript 中有多少参数太多了
How many parameters are too many in JavaScript?
我在StackOverflow上遇到了以下问题:多少个参数太多了?
这让我想到,JS函数的参数数量是否有实际限制?
test(65536); // okay
test(65537); // too many
function test(n) {
try {
new Function(args(n), "return 42");
alert(n + " parameters are okay.");
} catch (e) {
console.log(e);
alert(n + " parameters are too many.");
}
}
function args(n) {
var result = new Array(n);
for (var i = 0; i < n; i++)
result[i] = "x" + i;
return result.join(",");
}
事实证明,JavaScript 对函数施加了 65536 个参数的实际限制。
但是,有趣的是,错误消息说限制为 65535 个参数:
SyntaxError: Too many parameters in function definition (only 65535 allowed)
所以,我有两个问题:
- 为什么会有这种差异?这是语言实现中的一个错误吗?
- ECMAScript 标准是否对函数参数施加了此限制?
参数长度限制为 65536https://bugs.webkit.org/show_bug.cgi?id=80797
有不同的参数计数限制,具体取决于测试方式: http://mathiasbynens.be/demo/javascript-argument-count
相关文章:
- 一个html元素的克隆次数太多
- ExtJS类的最佳实践最终导致了太多的.JS文件.性能怎么样
- eval()读取函数参数有多糟糕
- 使用.slice分页选择了太多项目
- 堆排序实现进行了太多比较
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- backbone.js-映射标准url参数-使用多个参数
- 如何在不每秒调用太多次的情况下通过Soundcloud解析api进行循环
- 如何修复“;太多递归”;ReactJS中的错误
- 为什么fs.readFile在windows上花费太多时间
- 如何避免webGL着色器加载给cpu带来太多负载
- node.js 需要太多的 TCP 套接字
- JavaScript循环迭代太多
- Node.js错误:参数太多上传批量数据时出错
- 在 JavaScript 中有多少参数太多了
- Rails/javascript:"参数键太多”-什么'这是规范表单数据的好方法
- WebGL Fragment Shader构造函数错误-参数太多
- Babel 6:传递错误的参数太多
- 包含函数的对象中参数太多反模式
- 使用DOM和封装方法,用Javascript OOP传递参数.多少就太多了