定义函数sum, 参数params 个数不定,
- 不使用 es6
- 不使用 eval
- 不使用call,apply,bind
有没有其他办法实现
const params = ["aa", "ff","22",2,4,...]
const sum = new Function('a', 'b',...params 'return a + b');
定义函数sum, 参数params 个数不定,
有没有其他办法实现
const params = ["aa", "ff","22",2,4,...]
const sum = new Function('a', 'b',...params 'return a + b');
function sum() {
var result = 0;
for(var i = 0, len = arguments.length; i < len; ++i) {
result += arguments[i];
}
return result;
}
// TEST
sum(1,2,3,4)
js 不像 java 那种有什么重构、重载之类的概念。js 同名方法只能有一个,所以其实不用管你定义的时候定义了几个,你就死命的传就好了。
基于你说的,答案明显就是 arguments
了。es6 的话就是展开运算符了。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
我理解是说在 new Function 的时候不定参数个数?
那直接用 arguments 应该可以吧