1. 程式人生 > >JS中的call和apply用法

JS中的call和apply用法

//基本用法

var a = [1, 2];

function cut(a, b) {

console.log(a - b)

};

cut.apply(a, [a[0], a[1]]); //-1

cut.call(a, a[0], a[1]) //-1

//實現繼承

function add(a, b) {

this.a = a;

this.b = b;

this.alert = function () {

alert(this.a + this.b)

}

}



function test() {

add.apply(this, [5, 5]) //這裡可以理解為 test函式中this等於add函式中的this

}



var c = new test()

c.alert() //10

 

//call和apply區別

// call可以傳入多個比如test(this,1,2,3)

//apply可以傳入一個數組test(this[1,2])