『javascript基礎補足--役割ドメインと役割ドメインチェーンに関する知識点』

1442 ワード

キーワード:グローバル変数、ローカル変数、変数昇格メカニズム、メモリ回収メカニズム、役割ドメイン、役割ドメインチェーン
へんすう
ローカル変数はグローバル変数と名前を変更できますが、ローカル変数はグローバル変数をブロックします.グローバル変数を使用するには、
グローバル変数
ローカル変数
アクティブドメイン
プログラム全体
現在の関数やループなど
ライフサイクル
ブラウザがページをアンインストールしてから終了します
関数の実行中に存在する
クローズドパッケージ
  • コンセプト:1つの関数の内部に定義された関数で、内部変数を読み込みます.
  • 用途:
  • は、前述した関数内部を読み取ることができる変数であり、
  • これらの変数の値を常にメモリに保持します.(合理的利用、ブラウザのコスト削減)

  • 変数リフトメカニズム
  • varを使用して変数を定義すると、定義名は役割ドメインの上部
  • にアップグレードされます.
    console.log(varTest);//undefined
    var varTest = 123;
    console.log(letTest);//letTest is not defined
    let letTest = 456;
    

    メモリ回収メカニズム
    ゴミ収集器は定期的に(周期的に)使用し続けていない変数を見つけ、メモリを解放します.
    思考問題
  • bはvarを使用していないので、グローバル変数を定義します.注意厳格モードbはnot defined
  • を報告します.
    function fn() {
        var a = b = 123;
        console.log(a);
        console.log(b);
    }
    fn();
    console.log('outside: ' + a);//=>a is not defined
    console.log('outside: ' + b);//=>outside: 123
    
  • 役割ドメイン、内部は定義していないで、変数は上へ
  • を探します
    var num = 123;
    function fn() {
        console.log(num)//=>123
    }
    
  • 役割ドメイン、近接原則
  • function fn() {
        console.log(num)//=>undefined
        var num = 456; 
    }
    

    参考資料
  • チェン一峰--Javascript閉パッケージを学ぶ
  • javascriptのゴミ回収メカニズムとメモリ管理
  • ローカル変数とグローバル変数の違い
  • このシリーズの文章は私が収納し、まとめ、先端の基礎知識を振り返ります.自分と必要な人を供養し、共に進歩する.先人の分かち合いに感謝します.もし間違いがあったら、もっと言ってください.