ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の変数、スコープ、メモリの問題

JavaScript の変数、スコープ、メモリの問題

PHP中文网
PHP中文网オリジナル
2017-06-22 13:37:311012ブラウズ

1. 基本型と参照型

基本型: 値は変数 (数値、文字列、ブール型、未定義、Null) に格納されます。メモリ内の固定サイズのスペースを占有し、スタック メモリに格納されます。 参照タイプ: 値はメモリに格納されたオブジェクトであり、操作オブジェクトの実際の操作は、実際のオブジェクトではなくオブジェクトの参照です。ヒープメモリに保存

変数値をコピー:

. . 値の転送は参照型の変数コピーと同じです

Instanceofはオブジェクトの型を検出します

2 スコープのフロントエンドです。チェーンは常に、現在実行されているコードが配置されている環境の変数オブジェクトであり、次の含まれる環境からグローバル実行環境に続くスコープ チェーンの次の変数オブジェクトです。

ブロックレベルのスコープはありません(es6で利用可能)

3. ガベージコレクション

JavaScriptには自動ガベージコレクションメカニズムがあります: 使用されなくなった変数を見つけて、それらが占有しているメモリを解放します。

ローカル変数は、関数の実行中にのみ存在し、値を保存するためにスタック (またはヒープ) メモリ上のローカル変数に対応するスペースが割り当てられます。関数の実行が終了すると、そのメモリを解放できます。

ガベージコレクション戦略:

マークの削除: (一般的に使用されます) ガベージコレクターは、実行時にメモリに保存されているすべての変数をマークし、その後、環境内の変数と、環境内の変数によって参照される変数を削除します。をマークし、その後マークされた変数は削除の準備ができている変数とみなされます

参照カウント: (一般的には使用されません) 各値が参照された回数を追跡します。これにより、循環参照が発生したときに問題が発生する可能性があります

以上がJavaScript の変数、スコープ、メモリの問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。