es5 function sum () { let num = 0 // arguments是伪数组使用数组方法需要先转换为数组 Array.prototype.forEach.call(arguments, function (item) { num += item * 1 }) return num } es6 es6中不建议使用arguments,故使用展开运算符存储参数 function sum (...nums) { let num = 0 nums.forEach((item) => { num += item }) return num }