Javascript: fonction apply (), fonction call ()

Les méthodes apply () et call () peuvent détourner la méthode d'un autre objet et hériter des propriétés d'un autre objet

Premièrement, la méthode apply ()

Function.apply (obj, args)

  • obj: Function Cette classe d'objet remplacera cet objet, que cela aurait pu être dirigé Function maintenant pointer vers l'objet obj;
  • args: Ceci est un tableau, qui sera passé à Function comme argument (args–> arguments)
var person = {
    
    
    fullName: function() {
    
    
        return 'fullName = ' + this.firstName + " " + this.lastName;
    }
}

var student = {
    
    
    firstName: "Bill",
    lastName: "Gates",
}
person.fullName.apply(student);  // 将返回 "Bill Gates"
var person = {
    
    
  fullName: function(city, country) {
    
    
    return 'fullName = ' + this.firstName + " " + this.lastName + ";address = " + city + "," + country;
  }
}
var student = {
    
    
  firstName:"John",
  lastName: "Doe"
}
person.fullName.apply(student , ["Oslo", "Norway"]);

Deux, méthode call ()

Function.call (obj, arg1, arg2…)

  • obj: Function Cette classe d'objet remplacera cet objet, que cela aurait pu être dirigé Function maintenant pointer vers l'objet obj;
  • arg1 / arg2: il sera passé à Function en tant qu'argument (arg–> argument)
var person = {
    
    
  fullName: function(city, country) {
    
    
    return 'fullName = ' + this.firstName + " " + this.lastName + ";address = " + city + "," + country;
  }
}
var student = {
    
    
  firstName:"John",
  lastName: "Doe"
}
person.fullName.call(student, "Oslo", "Norway");

Troisièmement, la différence entre call () et apply ()

La méthode call () accepte les paramètres "respectivement".

La méthode apply () accepte les paramètres sous la forme d'un tableau.

Si vous souhaitez utiliser un tableau au lieu d'une liste de paramètres, la méthode apply () est très pratique.

Je suppose que tu aimes

Origine blog.csdn.net/u013250861/article/details/113622133
conseillé
Classement