将数组 arr 中的元素作为调用函数 fn 的参数
输入例子:
argsAsArray(function (greeting, name, punctuation) {return greeting + ', ' + name + (punctuation || '!');}, ['Hello', 'Ellie', '!'])
输出例子:
Hello, Ellie!
function argsAsArray(fn, arr) {
return fn.apply(this, arr);
}
apply函数中第一个参数为绑定fn函数中的this,可是如果fn函数中没有this变量,如何把apply中第一个参数省略去?
建議是改良下函數:
這樣碰到需要綁定上下文的狀況下,就可以傳值,那假如沒傳就是
undefined
,javascript
會自動讓this
指向window
(瀏覽器環境)。主要是避免碰到下面狀況: