Bagaimana saya bisa mengecek apakah suatu item diatur localStorage
? Saat ini saya menggunakan
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
// init variable/set default variable for item
localStorage.setItem("infiniteScrollEnabled", true);
}
javascript
html
local-storage
Jiew Meng
sumber
sumber
Jawaban:
The
getItem
metode dalam spesifikasi WebStorage, secara eksplisit mengembalikannull
jika item tidak ada:Jadi kamu bisa:
Lihat pertanyaan terkait ini:
sumber
localStorage
untuk merangkum tes kecil ini? MisalnyalocalStorage.hasItem("infiniteScrollEnabled")
?Storage.prototype
objek, tetapi sebagai aturan praktis saya selalu menyarankan untuk tidak memodifikasi objek yang tidak Anda miliki , terutama objek host.Storage
antarmuka saat ini secara spesifik mengatakan bahwa nilainya berjenisDOMString
. w3.org/TR/webstorage/#the-storage-interfaceAnda dapat menggunakan
hasOwnProperty
metode untuk memeriksa iniBekerja di versi Chrome (Mac), Firefox (Mac) dan Safari saat ini.
sumber
null
nilai tersimpan . Anda dapat memilikinya"null"
, tetapi kode di sana tidak akan berperilaku salah, sementara kode ini akan gagallength
.JSON.parse("null") === JSON.parse(null)
saya memiliki tabrakan.foo
ada, bukan apakah foo memiliki nilai. Saya mengalami situasi ini, di mana acara klik dipicu.setitem
dengan logika berbasis di getItem, tetapi tidak akan berfungsi sampai saya setItem, dan saya tidak bisa mengaturItem sampai saya tahu keadaan foo (value1 atau value2). Dengan kata lain, periksa foo keluar kemudian atur ke value1 jika tidak tanpa sengaja menimpa nilai2.Cara terpendek adalah menggunakan nilai default, jika kunci tidak ada dalam penyimpanan:
sumber
Anda juga dapat mencoba ini jika Anda ingin memeriksa yang tidak terdefinisi:
getItem adalah metode yang mengembalikan null jika nilai tidak ditemukan.
sumber
Atau
sumber
Untuk BENAR
UNTUK SALAH
PERIKSA KEBERADAAN
sumber
Anda harus memeriksa jenis item di Penyimpanan lokal
sumber
Bagaimana seseorang dapat menguji keberadaan suatu item
localStorage
? metode ini berfungsi di internet explorer.sumber
try | catch
menguraikan item.Mungkin lebih baik melakukan pemindaian rencana?
sumber
Cara terbaik dan teraman yang bisa saya sarankan adalah ini,
Ini melewati
no-prototype-builtins
aturan ESLint .sumber
Saya telah menggunakan proyek saya dan bekerja dengan sempurna untuk saya
sumber
cara mudah adalah
Bagaimana itu bekerja
ketika Anda memanggil localStorage.test pertama kali itu tidak mengandung toko ke objek localStorage sehingga mengembalikan kondisi lain yang tidak ditentukan memicu. setelah dipicu saya mengatur variabel baru dan lagi memeriksa itu berisi data sehingga mengembalikan data dengan true jika kondisi
sumber
Coba kode ini
sumber