ホームページ  >  記事  >  ウェブフロントエンド  >  JS データ型 + 参照型の深いコピーと浅いコピー、およびメモリ割り当ての問題

JS データ型 + 参照型の深いコピーと浅いコピー、およびメモリ割り当ての問題

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-18 13:59:261238ブラウズ

今回はJSのデータ型+参照型の深いコピーと浅いコピーとメモリ割り当ての問題について、JSのデータ型+参照型の深いコピーと浅いコピーとメモリ割り当てを使用する際の注意事項についてお届けします。見てみましょう。

jsの深いコピーと浅いコピーの問題

浅いコピーは通常、基本的なタイプのコピーを指します

ディープコピーは通常、参照型のコピーを指し、参照型の値もコピーします

h5 の sessionStorage は strings のみを保存できるため、json を保存したい場合は、JSON.stringify() を使用して json を文字列に変換し、それから JSON.parse() を使用して json に変換する必要があります。データ

欠点: JSON.parse と JSON.stringify は IE9+ 以降のみをサポートします

この問題を解決するには、深さ比率コピー方法を使用できます

jsのメモリ割り当て問題(ヒープとスタック)

js の基本型は通常、スタックに保存されます。これらの型はそれぞれメモリ内の固定サイズの領域を占有し、その値は値によってアクセスするスタック領域に格納されます。

参照型は可変サイズのデータ​​ですが、アドレスサイズは固定されているため、アドレスはスタックに格納され、値はヒープに格納されます

1. スタック メモリ: 基本タイプを格納します。 ヒープ メモリ: 参照型を保存します (基本型の値をスタック メモリに保存して、このオブジェクトの参照に使用されるオブジェクトのアドレスをヒープ メモリに保存します)

2. 基本型は現在の実行環境が終了すると破棄されますが、参照型は実行環境が終了しても破棄されません。このオブジェクトは、それを参照するすべての 変数 がガベージ コレクション メカニズムによってリサイクルされない場合にのみ再利用されます。存在する。

jsの基本データ型と参照型

基本的なデータ型には、数値、ブール文字列、未定義のヌル記号が含まれます

参照データ型: array obj 関数

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:



以上がJS データ型 + 参照型の深いコピーと浅いコピー、およびメモリ割り当ての問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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