call和apply,用法和区别
call和applay用法,call和apply是一个方法,表明一个实体,调用另外一个方法。就像是aFunction.apply(bFunction,["",""]);是bFunction调用了aFunction的方法,并且用于继承,如下面的c12继承了a10和b11。
function aFunction(str) {
console.log("我是a方法", "a方法的数据" + str);
}
function bFunction(str) {
console.log("我是b方法", "b方法的数据" + str);
}
bFunction.apply(null, [""]);
aFunction.apply(null, ["1"]);
function a10() {
this.showSub = function (a, b) {
console.log(a - b);
}
}
function b11() {
this.showAdd = function (a, b) {
console.log(a + b);
}
}
function c12() {
a10.apply(this);
b11.apply(this);
}
var c2 = new c12();
console.log(c2);
call和apply的方法的区别在于call是传递的字符串,而apply传递的是数组。