【2】JavaScriptの基礎が深い――データ、変数、メモリ

1584 ワード

JavaScriptの基礎は深いです.データ、変数、メモリ
データとは
  • メモリに記憶されている特定情報の代表的なものは、本質的には010101である.
  • データの特徴:転送可能、演算可能
  • すべてのデータ
  • メモリ内のすべての動作の目標:データ
  • 算術演算
  • 論理演算
  • 割当演算
  • 運転関数
  • メモリとは
  • メモリストリップが電気を通して発生する格納可能データの空間(一時的)
  • メモリの生成と死亡:メモリストリップ(回路基板)=>通電=>メモリ空間を生成=>データを記憶する=>処理データ=>電源を切る=>メモリ空間とデータはすべて消失します.
  • ブロックの小さいメモリの2つのデータ:
  • 内部に格納されたデータ
  • アドレス値
  • メモリ分類:
  • スタック:グローバル変数/局所変数
  • ヒーター:対象
  • 変数とは
  • 変化可能な量:変数名と変数値の構成
  • 変数名
  • 変数値
  • 各変数は一つの小さいメモリに対応しています.
  • 変数名:対応するメモリを検索するために使用されます.
  • 変数値:メモリに保存されているデータ
  • です.
    メモリ、データ、変数の3つの関係
  • メモリは、データを格納するための空間
  • である.
  • 変数はメモリの識別
  • である.
    変数の割り当てに関する問題
  • 個の参照変数は同じオブジェクトを指し、一つの変数でオブジェクト内部データを修正し、もう一つの変数は修正後のデータを参照してください.
  • つの参照変数は同じオブジェクトを指し、その中の一つの参照変数は他のオブジェクトを指し、他の変数は依然として前のオブジェクトを指す.
  • いくつかの間違いやすい問題
    問題1var a = xxx、aメモリにはいったい何が保存されていますか?
  • xxxは基本データで、aメモリに保存されているのはこのデータ
  • です.
  • xxxは対象で、aメモリに保存されているのは対象のアドレス値
  • です.
  • xxxは変数です.xxxのメモリ内容を保存します.
    問題2jsで関数を呼び出したときに変数パラメータを転送する場合、値の伝達ですか?それとも参照の伝達ですか?
  • は、値(基本値/アドレス値)伝達
  • を理解する.
  • は、2を理解する.おそらく、値伝達であり、参照伝達(アドレス値)
  • でもある.
    問題3jsエンジンはどうやってメモリを管理しますか?
  • メモリライフサイクル
  • は小さいメモリ空間を割り当てて、その使用権を得ます.
  • は、データを記憶し、繰り返し動作することができる.
  • は、小メモリ空間
  • を解放する.
  • メモリを解放する
  • ローカル変数:関数実行完了自動リリース
  • 対象:ゴミの対象になる=>ゴミ回収器
  • var a = 3
    var obj = {}
    obj = undefined
    
    function fn () {
      var b = {}
    }
    
    fn() // b     , b