ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の変数、スコープ、メモリの問題
1. 基本型と参照型
基本型: 値は変数 (数値、文字列、ブール型、未定義、Null) に格納されます。メモリ内の固定サイズのスペースを占有し、スタック メモリに格納されます。 参照タイプ: 値はメモリに格納されたオブジェクトであり、操作オブジェクトの実際の操作は、実際のオブジェクトではなくオブジェクトの参照です。ヒープメモリに保存
変数値をコピー:
. . 値の転送は参照型の変数コピーと同じです
Instanceofはオブジェクトの型を検出します
2 スコープのフロントエンドです。チェーンは常に、現在実行されているコードが配置されている環境の変数オブジェクトであり、次の含まれる環境からグローバル実行環境に続くスコープ チェーンの次の変数オブジェクトです。
ブロックレベルのスコープはありません(es6で利用可能)
3. ガベージコレクション
JavaScriptには自動ガベージコレクションメカニズムがあります: 使用されなくなった変数を見つけて、それらが占有しているメモリを解放します。
ローカル変数は、関数の実行中にのみ存在し、値を保存するためにスタック (またはヒープ) メモリ上のローカル変数に対応するスペースが割り当てられます。関数の実行が終了すると、そのメモリを解放できます。
ガベージコレクション戦略:
マークの削除: (一般的に使用されます) ガベージコレクターは、実行時にメモリに保存されているすべての変数をマークし、その後、環境内の変数と、環境内の変数によって参照される変数を削除します。をマークし、その後マークされた変数は削除の準備ができている変数とみなされます
参照カウント: (一般的には使用されません) 各値が参照された回数を追跡します。これにより、循環参照が発生したときに問題が発生する可能性があります
以上がJavaScript の変数、スコープ、メモリの問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。