Maison >interface Web >js tutoriel >Méthodes d'appel, d'application et de liaison - Javascript

Méthodes d'appel, d'application et de liaison - Javascript

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 01:09:291038parcourir

Call, Apply & Bind Methods — Javascript

Chaque fonction de JS a accès à ce mot-clé.

1. Appeler

C'est similaire à l'emprunt de fonctions, où nous pouvons utiliser des fonctions/emprunter des fonctions d'un objet et les utiliser avec un autre objet au lieu de les redéclarer.

let name = {
  firstnName: 'Manoj',
  secondName: 'Ravi',
  fullName: function (district, state) {
    return `${this.firstName} ${this.secondName} from ${district}, ${state}.`;
  }
};

let getFullDetails = function(district, state) {
  return `${this.firstName} ${this.secondName} from ${district}, ${state}.`;
};

name.fullName('Chennai', 'TN');  // Manoj Ravi from Chennai, TN.
getFullDetails.call(name, 'Chennai', 'TN');  // Manoj Ravi from Chennai, TN.

let name2 = {
  firstnName: 'Sanjay',
  secondName: 'Ravi',
};

name.fullName.call(name2, 'Coimbatore', 'TN');  // Sanjay Ravi from Coimbatore, TN.
getFullDetails.call(name2, 'Coimbatore', 'TN');  // Sanjay Ravi from Coimbatore, TN.

Des paramètres supplémentaires peuvent être partagés dans un format séparé par des virgules.

2. Postuler

Semblable à call, la seule différence est la façon dont nous transmettons les arguments. Au lieu de les transmettre individuellement (séparés par des virgules), nous les transmettons sous forme de tableau.

let getFullDetails = function(district, state) {
  return `${this.firstName} ${this.secondName} from ${district}, ${state}.`;
};

let name = {
  firstnName: 'Manoj',
  secondName: 'Ravi'
};
getFullDetails.call(name, ['Chennai', 'TN']);  // Manoj Ravi from Chennai, TN.

let name2 = {
  firstnName: 'Sanjay',
  secondName: 'Ravi'
};
getFullDetails.call(name2, ['Coimbatore', 'TN']);  // Sanjay Ravi from Coimbatore, TN.

3. Lier

Semblable à call, cette méthode n'invoque pas la fonction immédiatement ; au lieu de cela, il lie la référence de la fonction et renvoie une nouvelle fonction qui peut être appelée ultérieurement.

let getFullDetails = function(district, state) {
  return `${this.firstName} ${this.secondName} from ${district}, ${state}.`;
};

let name = {
  firstnName: 'Manoj',
  secondName: 'Ravi'
};


let printDetails = getFullDetails(name, 'Chennai', 'TN');
printDetails();  // Manoj Ravi from Chennai, TN.

Merci d'avoir lu ! J'espère que vous avez trouvé ce blog informatif et engageant. Si vous remarquez des inexactitudes ou avez des commentaires, n'hésitez pas à me le faire savoir.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn