Function.prototype.apply()

249 阅读1分钟

于.call()方法相似

唯一的区别就是,它接收一个数组作为函数执行时的参数

function f(x, y){
  console.log(x + y);
}

f.call(null, 1, 1) // 2
f.apply(null, [1, 1]) // 2
    var a = ['a', , 'b'];
    var print = (a) => {
        console.log(a);
    }
    a.forEach(print); // a,b

    //Array构造函数将数组的空元素变成undefined
    Array.apply(null, a).forEach(print); //a,undefined,b