// rest 参数 (rest参数只能是最后一个参数) function fun(...args) { console.log(args) // [1,2,3,4,5] let sum = 0 for(let val of args) { sum += val } return sum } console.log(fun(1,2,3,4,5)) // 15 // arguments arguments是一个类数组,需要先Array.prototype.slice.apply转为数组,再使用数组的sort方法 // slice 返回一个新的数组对象 function fun1() { return Array.prototype.slice.apply(arguments).sort() } console.log(fun1(3,2,1)) // rest参数 而rest参数本身就是数组,可以直接调用数组的sort方法 let fun2 = (...nums)=> nums.sort() console.log(fun2(6,5,7))