ホームページ > 記事 > ウェブフロントエンド > JavaScript ですぐに呼び出される関数式を使用して上書きを防ぐにはどうすればよいですか?
JavaScript を使用すると、開発者は Web ページに機能と動作を追加できます。開発者は、Web ページのさまざまな部分に機能を追加するには、複数の関数と変数を作成する必要があります。
リアルタイム アプリケーションを開発する場合、複数の開発者が同じプロジェクトに取り組みます。したがって、複数の開発者が作業する場合は、関数や変数を誤って上書きしないようにする必要があります。このチュートリアルでは、すぐに呼び出される関数式を使用して上書きを防ぐ方法を学びます。
たとえば、2 人の同僚が同じプロジェクトに取り組んでおり、2 人ともコード内で printAge() 関数を定義し、コードをマージします。これで、同じ名前の他のすべての関数定義が上書きされるため、ブラウザーは最後に定義された関数のみを実行します。その結果、ユーザーは Web ページの予期しない動作を目にすることがあります。さらに、これは変数名でも発生する可能性があります。
次の例では、同じ名前の 2 つの変数を定義します。ウェブページ上に変数値を表示します。出力では、2 番目の「a」変数が最初の「a」変数の値を上書きしていることがわかります。
リーリーJavaScript 関数には、関数内で定義された変数の関数スコープがあります。したがって、関数内で定義した変数が何であれ、関数の外では変数にアクセスできません。したがって、スコープが関数に限定された変数を定義できます。
即時関数呼び出しを使用して関数の書き換えを解決できます。つまり、関数を定義した直後に関数を実行します。したがって、関数名を定義する必要はなく、オーバーライドは防止されます。
###文法###上記の構文では、括弧内に関数式を追加しました。さらに、関数をすぐに呼び出すために、関数定義の後に括弧を追加しました。
例 (即時呼び出し関数のオーバーライドの防止)
2 つのオブジェクトの printAge() 関数は、異なるメッセージを出力します。その後、これら 2 つのオブジェクトを window オブジェクトに保存して、グローバルにアクセスできるようにします。最後に、両方のオブジェクトの printAge() メソッドを実行しました。ユーザーは、相互に上書きせずに元のメッセージを出力したことがわかります。
リーリー ###例###この例では、すぐに呼び出される 2 つの関数式も定義します。最初の式では、食品オブジェクトを定義します。さらに、食品オブジェクトの setId() メソッドと setName() メソッドを定義し、それらを window オブジェクトに保存しました。
JavaScript コードを操作するときに、即時関数式を使用してオーバーライドを防ぐ方法を学びました。このアイデアは、関数スコープで変数を定義し、オーバーライドする名前を持たない特定のグローバル オブジェクトを通じて変数にグローバルにアクセスすることです。
即時に呼び出される関数式を使用して上書きを防止する主な利点は、変数名のグローバルな汚染を回避できることです。さらに、コードを保守しやすくし、コードの再利用性を向上させることができます。
以上がJavaScript ですぐに呼び出される関数式を使用して上書きを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。