ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript でクロージャと自己実行関数を使用して、グローバル変数に関する多数の問題を解決する_JavaScript スキル

JavaScript でクロージャと自己実行関数を使用して、グローバル変数に関する多数の問題を解決する_JavaScript スキル

WBOY
リリース: 2016-05-16 18:12:52
オリジナル
1627 人が閲覧しました

しかし、グローバルな観点から見ると、同じ名前の変数、複数の関数がグローバル変数を共有した後の値の変換など、制御が難しい状況がいくつか発生します。したがって、場合によっては、単純なグローバル変数については、別の方法で処理できます。自己実行関数クロージャ メソッドを使用して解決します。

例: Web ページが読み込まれるときにそれを指定したいとします。 Web ページを閉じるときに別のプロンプトを表示するプロンプト
次のコードは上記の関数を実装します


var msg1 = "ようこそ!"; // グローバル変数を定義します
var msg2 = "さようなら!" // 別のグローバル変数を定義します
window.onload = function( ) {
アラート(msg1);
}
window.onunload = function() {
アラート(msg2);

this 2 つのグローバル変数コードスニペットで使用されています。単純な機能を実装するだけです。
さらに、グローバル変数が多すぎます。覚えておく必要があります。msg1 はウェルカム時の変数、msg2 は閉じる時の変数です...さらに変数がある場合でも、それらを覚えておくことができますか?


次は同じ関数ですが、自己実行関数クロージャ メソッドを使用しています:

コードをコピー コードは次のとおりです:
(function() {
var msg = "Hello, world!";
window.onload = function() {
alert (msg);
}
})();

(function() {
var msg = "Hello, world!";
window.onunload = function() {
alert(msg);
}
})();

後者のアプローチではコードが大きくなりますが、
1) msg変数は、関数内のそれぞれの Valid でのみ実行されます。他のグローバル変数と混同することはありません。
2) コードの構造が明確になります。
3) 多数のグローバル変数が使用される状況を解決します。

上記はあくまで私の個人的な理解ですので、本物の専門家からコメントをいただければ幸いです。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート