JSのcallとappyの使い方

530 ワード

//基本的な使い方
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とappyの違い
//callは、test(this、1、2、3)のような複数のものに入ることができる.
//applyは配列testに入ることができる(this[1,2])