ホームページ >ウェブフロントエンド >jsチュートリアル >メソッドの呼び出し、適用、バインド — JavaScript

メソッドの呼び出し、適用、バインド — JavaScript

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 01:09:291010ブラウズ

Call, Apply & Bind Methods — Javascript

JS のすべての関数がこのキーワードにアクセスできます。

1.

に電話する

これは関数の借用に似ており、関数を使用したり、あるオブジェクトから関数を借用して、再宣言する代わりに別のオブジェクトで使用したりできます。

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.

追加のパラメータはカンマ区切り形式で共有できます。

2.申し込む

呼び出しと似ていますが、唯一の違いは引数を渡す方法です。それらを個別に (カンマ区切り形式で) 渡す代わりに、配列として渡します。

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.バインド

call と同様に、このメソッドは関数をすぐには呼び出しません。代わりに、関数の参照をバインドし、後で呼び出すことができる新しい関数を返します。

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.

読んでいただきありがとうございます!このブログが有益で魅力的であると感じていただければ幸いです。不正確な点に気づいた場合、またはフィードバックがある場合は、遠慮なくお知らせください。

以上がメソッドの呼び出し、適用、バインド — JavaScriptの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。