JavaScript クロージャーの簡単な理解

高洛峰
リリース: 2016-10-15 16:09:43
オリジナル
1242 人が閲覧しました

「The Definitive Guide to JavaScript」や「Elevation」など、JS に関する多くの書籍では、初心者が理解できないほどわかりにくい方法でクロージャーを説明しています。でも心配しないでください。今日はクロージャとは何かを非常に簡単な方法で説明します。初心者向けのクロージャの説明です。難解で単刀直入な記述はなく、一目で理解できます。何か間違っている場合は、修正してください。
クロージャを理解するには、まず変数のスコープを理解する必要があります。
JS にはグローバル変数とローカル変数の 2 つの変数スコープがあります。名前が示すように、グローバル変数は任意の場所で参照できる変数であり、ローカル変数は特定の場所でのみ参照できる変数です。以下のコードを参照してください。 。

var globalScope="global scope";
function f(){
    var localScope="local scope";
    console.log(globalScope);//global scope
}
console.log(localScope);//undefined
ログイン後にコピー

関数 f() では、関数本体の外で定義された globalScope にはアクセスできますが、関数本体の外で定義された localScope にはアクセスできません。 これがグローバル変数とローカル変数の違いです。
localScope が関数本体の外からアクセスできなくなる可能性はありますか?いいえ、このためにクロージャが生まれます。

function f(){
    var localScope="local scope";
    return function(){
        console.log(localScope);
    }
}
f()();//local scope
ログイン後にコピー

関数 f() の外側でローカル変数 localScope にアクセスしました。関数 f() 内で定義された匿名関数はクロージャです。

JavaScript クロージャーの簡単な理解

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!