js中apply和call的使用方法

(18.12.26)

js中apply和call的使用方法

call:调用一个函数在一个指定的执行上下文中,和提供参数。

function fn(more) {
    console.log(this.age);
    console.log(this.name);
    console.log(more);
}    
function A(age,name) {
    this.age = age;
    this.name = name;
}
var Aobj = new A(11,"Tom");
fn.call(Aobj,"more");

以上代码就是调用fn函数在Aobj的执行上下文中执行的结果为
11
Tom
more

apply:调用一个函数在一个指定的执行上下文中,和提供参数是数组一般为arguments。

function A(age,name) {
    this.age = age;
    this.name = name;
}
function B(age,name,sex) {
    this.sex = sex;
	console.log(arguments);
    A.apply(this, arguments);
}
var Bobj = new B(11,"tom","男");
console.log(Bobj.age);
console.log(Bobj.name);
console.log(Bobj.sex);

结果为:
11
Tom

arguments为当前的函数参数为:
[Arguments] { ‘0’: 11, ‘1’: ‘tom’, ‘2’: ‘男’ }

猜你喜欢

转载自blog.csdn.net/qq_40646960/article/details/85271961
今日推荐