1.適用範囲
1.1適用範囲の概要
一般的には、名前を使用するプログラムコードは、常に効果的では使用できません。そして、この範囲に与えられたコード名を持つこの名前の範囲の可用性です。
ローカルロジックプログラムを改善するためのスコープを使用してください。プログラム、競合を減らすの名前の信頼性を高めることができます。
< ヘッド> < メタのcharset = "UTF-8" > < メタ名= "ビューポート" コンテンツ= "幅=幅デバイス、初期スケール= 1.0" > < タイトル>ドキュメント</ タイトル> < スクリプト> // JSスコープ:それは、信頼性の向上を目的とした作業プログラムのコード(変数)は、特定の範囲内の名前と有効であり、プログラムの名前の競合を削減 // JSは(ES6)の前に、グローバルスコープとローカルスコープにスコープ / / 1全体のスクリプトタグは、グローバルスコープまたは別個のJSファイルを有している。 VARのNUM = 10 ; にconsole.log(NUM); // 10 //関数内の前記ローカルスコープは関数内のコードのローカルスコープの名前のみ仕事 関数のFn(){ // ローカルスコープ のvar NUM = 0 ; にconsole.log(NUM); // 0 } のFn( ); </ スクリプト> </ ヘッド>
2変数のスコープ
可変範囲の2.1分類
JavaScriptでは、変数のスコープに応じて2つのタイプに分けることができます:
1.グローバル変数
2.ローカル変数
< ヘッド> < メタのcharset = "UTF-8" > < メタ名= "ビューポート" コンテンツ= "幅=幅デバイス、初期スケール= 1.0" > < タイトル>ドキュメント</ タイトル> < スクリプト> // 私たちは、さまざまなグローバルとローカル変数に変数をスコープ // スクリプト]タブまたは文書全体を通して1つのグローバル変数は、JSを使用することができます 。// 注ことが状況の関数内では直接の代入文ではありませんが、グローバル変数に属している必要がある場合機能を効果的に実行された後 のvar NUM = 10 ; // グローバル変数 にconsole.log(NUM); 関数のFn(){ console.log(NUM); } のFn(); // ローカル変数ローカルスコープ内の2つの変数 // 注意可変パラメータの関数がローカルであること 関数(FUN){ // ローカル変数は、屋外で使用することができない VaRの合計= 0 ; SUM2 = 20 ; } // ファン(); にconsole.log(SUM2); // パフォーマンスの観点から、グローバルおよびローカル変数 // ブラウザが全メモリリソースの比較を閉じたとき1.グローバル変数のみが破壊されます // 2.ローカル変数我々はプログラムがメモリリソースを節約するために破壊を比較します終え </ スクリプト> </ ヘッド>
jsがスコープレベルブロックのみスイフト又はOCのブロックレベルスコープES6例の後に{}変数はスコープは括弧内のブロックレベルのスコープで宣言されていません。
しかし、JSはES6ないの前に。
3スコープチェーン
限り、少なくともスコープのコードがあるよう
関数のローカルスコープ内に書かれました
この関数は、この範囲内の機能だけでなく、スコープの誕生がある場合
内部関数によると、外部のメカニズムは、データが検索呼び出された関数内で連鎖させることが可能な変数はスコープチェーンを訪問することを決定した機能にアクセスすることができます