Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Objek JavaScript Kompleks dalam Storan Setempat dan Sesi HTML5?

Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Objek JavaScript Kompleks dalam Storan Setempat dan Sesi HTML5?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-28 01:53:10861semak imbas

How Can I Store and Retrieve Complex JavaScript Objects in HTML5 Local and Session Storage?

Penyimpanan Objek dalam HTML5 Tempatan dan Storan Sesi

Pertanyaan:

Storan tempatan HTML5 dan sessionStorage membolehkan penyimpanan yang cekap bagi jenis dan tatasusunan JavaScript primitif. Walau bagaimanapun, apabila cuba menyimpan objek JavaScript yang kompleks, objek tersebut nampaknya ditukar secara tidak sengaja kepada rentetan. Memahami sebab di sebalik tingkah laku ini dan meneroka kemungkinan penyelesaian adalah penting.

Respons:

Menurut spesifikasi Storan Web HTML5, fungsi storan direka terutamanya untuk mengendalikan kunci /value pairs, dengan kedua-dua kunci dan nilai adalah rentetan. Akibatnya, objek kompleks tidak boleh disimpan terus.

Penyelesaian:

Untuk memintas pengehadan ini, anda boleh menggunakan penyelesaian mudah dengan menukar objek kepada rentetan:

<br>// Simpan objek sebagai string<br>localStorage.setItem('testObject', JSON.stringify(testObject));</p>
<p>// Dapatkan semula objek yang disimpan<br>var retrievedObject = localStorage.getItem('testObject');<br> 

Apabila mendapatkan semula nilai yang disimpan, anda boleh tukarkannya kembali kepada objek asal:

<br>// Bina semula objek<br>var reconstructedObject = JSON.parse(retrievedObject);<br>

Pendekatan ini membolehkan anda menyimpan dan mendapatkan semula objek kompleks dengan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Objek JavaScript Kompleks dalam Storan Setempat dan Sesi HTML5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn