Scope & Closure
1814 ワード
Scope
変数アクセス規則の有効範囲
変数とその値の有効範囲を指定します.
デフォルトでは、JSは独自のScopeを持ち、関数を宣言します.
ゾーン変数の優先度はグローバル変数より高い.
パラメータのない関数を呼び出す場合、->パラメータを含む関数を呼び出すとパラメータを書き込むことができません
呼び出しと関数のみ.
グローバル変数が宣言され、関数で宣言されず、グローバル変数と同じ変数に値が割り当てられている場合、関数の変数はグローバル変数とみなされます.
スキャンが重なる場合は、内側スキャンから外側スキャンに進みます.
let message = "outer"
function shadowParameter(message) {
message = 'Do not use parameters like this!';
return message;
}
/* --> shadowParameter('parameter') 호출 시
전역변수 message를 사용하는게 아니라 인자로 들어간 'parameter'를 사용함 */
Closure
これらの動作原理を表す外部関数の変数の内部関数または用語にアクセスできます.
Closer関数では、領域変数、外部関数の変数、およびグローバル変数にアクセスできます.
カードリング
モジュールモード
グローバル変数とウィンドウオブジェクト
グローバル範囲を表すオブジェクト
グローバル範囲で宣言された関数;varキーワードで宣言された変数をウィンドウオブジェクトに関連付ける
グローバル範囲内であまり変数を宣言しないでください
Reference
この問題について(Scope & Closure), 我々は、より多くの情報をここで見つけました https://velog.io/@jing07161/Scope-Closureテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol