Javascript Vergleich von 2 Prüfungen für localStorage
Sah ich diese in der diveintohtml5 website. Dies ist, wie Sie überprüfen, um zu sehen, ob localstorage unterstützt der browser.
return 'localStorage' in window && window['localStorage'] !== null;
Wäre das die gleiche wie nur tun?
return window.localStorage != undefined
- ich persönlich würde das tun
return !!window.localStorage
würde konvertieren Sie die Werte von0,false,undefined,"",NaN
zu einer falschen, um besser zu überprüfen - Ich denke
return typeof window.localStorage == 'object';
ist die beste Methode. Wenn das localStorage-Eigenschaft ist nicht ein Objekt ist, dann bedeutet das, dass es nicht umgesetzt in den browser - +1, das wäre besser als seine mehr strengen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
1
Diese gibt true zurück, wenn die
window
- Objekt enthält eine Eigenschaft mit dem NamenlocalStorage
und der Wert dieser Eigenschaft ist nichtnull
.2
Diese gibt true zurück, wenn die
window
- Objekt enthält eine propety mit dem NamenlocalStorage
und der Wert dieser Eigenschaft ist nichtundefined
odernull
(Ich gehe davon aus, dass die Globale Eigenschaft
undefined
hält den Wertundefined
)window.localStorage = undefined
typeof null === 'object'
also, wenn Fenster.localStorage ist null Sie werden berichten, wahr ist.return typeof window.localStorage == 'object' && window.localStorage != null;
Dieser wird überprüfen, ob oder nicht die "localStorage" - Eigenschaft ist ein Objekt.return typeof window.localStorage != 'undefined';
funktioniert nicht richtig. Wenn der browser unterstützt localStorage, aber es ist durch den Benutzer deaktiviert, Fenster."localStorage" hat den Wert null; und da check liefert true (was nicht richtig ist).Gleichen Ergebnis jedenfalls da, wenn
window.localStorage
istundefined
Sie bekommen beidefalse
. Und wennwindow.localStorage
null ist, werden Sie beide bekommenfalse
weilundefined == null
.Jedoch bevorzuge ich mit
!!
nur weil es der Schnellste Weg zur Umwandlung in einen booleschen und wie nützlich ist, "localStorage", wenn es ist false, null, undefined, ", NaN oder 0 ist?Bearbeiten
Ein Nachteil, Sie sind nicht genau das gleiche, da, wenn Sie
window.localStorage
zuundefined
den ersten berichten würde es alstrue
return typeof window.localStorage == 'object';
!!
war der Schnellste Weg zur Umwandlung in boolean. Danke für das auch. Ich werde mark Sime Antwort als richtig, weil, wie er sagt, der Typ das Objekt ist wahrscheinlich das, was ich wirklich möchte.!!
Sie nicht wirklich irgendetwas verpassen.Können Sie Modernizr (1.1 oder höher) zu erkennen, die Unterstützung für HTML5 local storage.
Wünsche ich Euch empfehlen die folgende Funktion:
Wenn Sie Lesen wollen über die Globale Speicherung, vergleichen Sie es mit den lokalen Speicher, Schau mal bei "JavaScript für Web-Entwickler", Kapitel 19. Es beschreibt die client-lokalen Speicher, vergleicht man es mit cookies.