84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
この関数は、最初に呼び出された後に自身を書き換えるため、呼び出されるたびに操作が不必要に繰り返されることがなくなります。これを具体的にどのように理解すればよいでしょうか?関数を書き換える前後で関数の実行スレッドは同じではないでしょうか?
たとえば、ブラウザごとに API 名が異なるため、統一インターフェイスをカプセル化したい場合、コードは次のようになります
余分な変数や if-else を使用せずにブール状態を区別します。 たとえば、一部の動作は初期化された状況と初期化されていない状況で異なるロジックを持つため、次のように書くことができます:
ここで問題となるのは、グローバル変数が導入され、この変数が次のように記述できる内部状態にカプセル化されることです。 リーリー
リーリー
次の 3 つの異なる書き方を感じてください:
上の階のブラウザ API の例は、一般的に、コードのパフォーマンスを最適化するために特定の不要な操作を回避することを目的としています。 リーリー
簡単に言うと
初めて関数を実行すると、alert('A') が実行され、2 回目に実行されると、alert('B') が実行されます。
不必要な操作の繰り返しを避けるというよりも、追加の操作を実行することが重要です。初めて実行すると処理 A が実行され、後で実行すると処理 B が実行されます。
たとえば、ブラウザごとに API 名が異なるため、統一インターフェイスをカプセル化したい場合、コードは次のようになります
リーリー余分な変数や if-else を使用せずにブール状態を区別します。
リーリーたとえば、一部の動作は初期化された状況と初期化されていない状況で異なるロジックを持つため、次のように書くことができます:
ここで問題となるのは、グローバル変数が導入され、この変数が次のように記述できる内部状態にカプセル化されることです。 リーリー
質問者が挙げた方法を使用する場合:リーリー
また、この書き方は非常に関数的だと感じます(関数式についてはあまり詳しくないので、あえて絶対的とは言えません)。ここにプログラミングパラダイムの問題があります。次の 3 つの異なる書き方を感じてください:
プロセス指向:リーリー
オブジェクト指向:リーリー
関数式:リーリー
関数型メソッドには多くの利点があります。これには関数型プログラミングを理解する必要があります。上の階のブラウザ API の例は、一般的に、コードのパフォーマンスを最適化するために特定の不要な操作を回避することを目的としています。 リーリー
簡単に言うと
初めて関数を実行すると、alert('A') が実行され、2 回目に実行されると、alert('B') が実行されます。
不必要な操作の繰り返しを避けるというよりも、追加の操作を実行することが重要です。初めて実行すると処理 A が実行され、後で実行すると処理 B が実行されます。