js求和运算在可变参数的情况下ES3、ES5和ES6的写法区别
//ES3、ES5的写法
function foo(){
var arr = Array.prototype.slice.call(arguments);
var sum = 0;
arr.forEach(function(item){
sum += item;
});
return sum;
}
console.log(foo(1, 2, 3)); //6
//ES6的写法
function foo(...arr){ //arr就是可变参数列表
let sum = 0;
arr.forEach(item => {
sum += item;
});
return sum;
}
console.log(foo(1, 2, 3)); //6
从以上代码来看,ES6的写法就简便很多。其中Array.prototype.slice.call(arguments)能够将arguments转成数组,而三个点“...”是ES6的扩展运算符。
作者:小坏
出处:http://tnnyang.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。