javascript中call()方法的理解使用(以及比较apply方法)

call用处:给目标对象a动态指派b的所有属性及方法,注意,a本身是没有这些属性及方法的!

 

call语法是: b.call(thisObj,arg1,arg2,arg3)

解释:thisObj是目标对象(将方法属性指派到的目标对象),arg1,arg2,arg3是参数,可以是一个,也可以是多个

 情形一:只保留call第一个参数(即目标对象)的情况

var b = function() {
    this.name = "123";
    this.message = function(obj){
        console.log(obj);
    };
    this.showName = function(obj){
        console.log(obj);
    };

};

var a = {}; //定义一个空对象a

b.call(a); //给对象a动态指派b的所有属性及方法,注意,a本身是没有这些属性及方法的!

a.message("显示a指定的消息"); //显示a指定的消息
a.showName("显示a指定的show信息"); //显示a指定的show信息
console.log(a.name); //123
原文地址:https://www.cnblogs.com/rapale/p/5076318.html