//基本用法
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])