ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript コールバック関数の詳細な分析 (グラフィック チュートリアル)

JavaScript コールバック関数の詳細な分析 (グラフィック チュートリアル)

亚连
亚连オリジナル
2018-05-18 17:09:321642ブラウズ

この記事では、主に JavaScript コールバック関数の関連知識ポイントと使用コード例の分析を紹介します。必要な方はそこから学ぶことができます。

高級言語が次々と登場する時代、各言語は「すべてはオブジェクトである」と豪語していますが、スクリプト言語としてのjsは従来のオブジェクト指向言語とは大きく異なります。 Java のような Java の奇妙さに加えて、継承システムとは別に、最も魅力的な機能の 1 つはコールバック関数です。もちろん、著者はコールバック関数と非同期性の 2 つであると考えています。もちろん、すべての利点と同様に、需要を満たす必要があります。たとえば、多数のコールバック関数を使用するとコードが冗長になります。混乱を招き、コーダーの視覚的および思考的エクスペリエンスに影響を及ぼします

この記事は、コールバック関数を学習した私自身の経験です。完璧ではないことや、エラーが発生することは避けられません。私は謙虚に学習するつもりです。自分自身を改善してください。

JavaScript の最もユニークな点は、関数が第一級市民であり、すべてが変数であり、関数も一種の変数になる可能性がある高級言語と呼ぶことです。また、js ではコールバック関数を関数のパラメーターとして使用できるため、コールバック関数は

ps と似ています。 C 言語のポインター - --ポインター ポインター ポインター!!! 重要なことは 3 回言います

まずコールバック関数の定義を見てみましょう

コンピューター プログラミングでは、コールバックは引数として渡される実行可能コードの一部です。他のコードに、都合の良いときに引数をコールバック (実行) することが期待されています

コールバック関数は、他のコードにパラメーターとして渡される実行可能なコード部分であり、その機能はこのコード部分を簡単に呼び出すことです。 (コールバック関数) 必要に応じてコードを追加します。

コールバック関数

  function addSqua(num1, num2, callback){
    var sum = num1 + num2;
    return callback(sum);
  }
  
  function squa(num){
    return num*num;
  }
  
  let num = addSqua(1, 2, squa);    
  console.log(num);
  //=>9

匿名コールバック関数

匿名関数を関数パラメータとして関数に直接渡します。これはプログラミングで一般的に使用されるものです

function addSqua(num1, num2, callback){
 var sum = num1 + num2;
 return callback(sum);
}
let num = addSqua(1, 2, function squa(num){
 return num*num;
});    
console.log(num); 
//=9

配列内のすべてのメソッドを模倣します

in Array.prototype すべての

  Array.prototype.myEvery = function (callback) {
   if (typeof callback === 'function') {
    for (let i = 0; i < this.length; i++) {
     if (callback(this[i])) {
      return false;
     }   
    }
    return true;
   }
   return true;
  }
  
  let op = [3, 6, &#39;every&#39;, 9,&#39;each&#39;];
  op.myEvery(function (value) {
   console.log(value);
  })
  // 3
  // 6
  // &#39;every&#39;
  // 9
  // &#39;each&#39;

と同様のメソッドを追加します コールバック関数の特徴

  1. は、定義に示されているように、すぐには実行されません コードフラグメントとしてのコールバック関数は、必要に応じて特定の条件下で実行できます、コールバック関数はパラメータとして使用されます。関数に渡されると、関数定義のみが渡され、すぐには実行されません。

  2. 今回、ES6 ではアロー関数が導入されました。アロー関数の導入には、それが配置されている関数を指すコンテキスト オブジェクトです。ES6 でアロー関数を使用する場合は、料金を支払う必要があります。これにはコンテキストがありません。興味がある場合は、ポータルを提供する ES6 Ruan Yifeng を確認してください

コールバック関数の利点と使用シナリオはクロージャです

コールバック関数はクロージャの単純な使用法であり、外部で定義された変数にアクセスできると言われています。

コールバック関数の美しさ

  • コードの重複を避けるための DRY。

  • 共通ロジックを抽象化できる。

  • ビジネスロジックの分離 (とても美しい^-^ ^-^)

  • コードの保守性と可読性を向上させます。

  • コードの可読性を向上させます。

  • 個別の専用機能。

js コールバック関数の優れた点は、他の従来の言語にはないビジネス ロジックの分離を実現できることです。これは、インターフェイスを外部に公開するのと非常に似ています。フロントエンドとバックエンドの分離アーキテクチャにおける API インターフェイスの設計コンセプト

この世に「特効薬」はなく、すべてを解決できる唯一のソリューションはありません。js は非同期のために生まれたため、コールバックが必要となります。関数が最もよく使用され、最適な場所は非同期プログラミングですが、開発者にとってはコードが冗長で、読めない行が多く、エクスペリエンスが非常に悪いものになります。人々は自分自身の快適さを追求することを決してやめませんでした。

上記は私があなたのためにまとめたものです。

関連記事:

スライディングパズルの検証コードをJSで実装する方法

vuejsv-ifとv-showの使い方を詳しく解説

手順を詳しく解説JSで赤黒ツリーを実装

以上がJavaScript コールバック関数の詳細な分析 (グラフィック チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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