function (greeting, name, punctuation) {return greeting + ', ' + name + (punctuation || '!');}, ['Hello', 'Ellie', '!']
Hello, Ellie!
function (greeting, name, punctuation) {return greeting + ', ' + name + (punctuation || '!');}, ['Hello', 'Ellie', '!']Hello, Ellie!
function argsAsArray(fn, arr) {
return fn(...arr)
} // 扩展运算符可以将数组拆分成以逗号分隔的参数序列
let ary = ["a", "b", "c"];
//...ary // "a", "b", "c"
//...ary的实际表现效果如上 是有逗号分隔的
console.log(...ary) //a b c
console.log("a", "b", "c")// a b c
//而控制台输出会把逗号解析成分隔符 展现的就是空格
//故 ary 就可以用来给函数传递参数
//比如 传参fn('a','b','c') 按照上面代码就可以写成 fn(...ary) // 直接采用展开运算符调用,没用apply和call或是bind
function argsAsArray(fn, arr) {
return fn(...arr)
}
function argsAsArray(fn, arr) { return fn.apply(this, arr); }