私は localStorage を使用してきましたが、質問がありました:
次の方法ではなくsetItem
、メソッドを使用する利点はどれですか。getItem
SET ITEM : localStorage.myKey = "myValue"; GET ITEM : localStorgae.myKey --> 「myValue」を返します
それらは単なるヘルパーメソッドですか?良い習慣?
好奇心に感謝します。
私は localStorage を使用してきましたが、質問がありました:
次の方法ではなくsetItem
、メソッドを使用する利点はどれですか。getItem
SET ITEM : localStorage.myKey = "myValue"; GET ITEM : localStorgae.myKey --> 「myValue」を返します
それらは単なるヘルパーメソッドですか?良い習慣?
好奇心に感謝します。
set
/getItem
は、次の理由でプロパティ アクセスよりも優れています。
localStorage
すべての入力を強制的に文字列に変換しますが、set
/getItem
メソッドを上書きしてシリアル化と逆シリアル化を実行し、文字列以外の型をサポートできます。
var basicSetItem = localStorage.setItem;
localStorage.setItem = function(key, val) {
basicSetItem.call(localStorage, key, JSON.stringify(val));
}
var basicGetItem = localStorage.getItem;
localStorage.getItem = function(key) {
return JSON.parse(basicGetItem.call(localStorage, key));
}
ECMAScript 5 API を使用して、すべてのストレージ プロパティ値に対して同等の効果を達成することはできません。
ストレージ キー を設定することはできず、関数アクセスを使用せずlength
にキーgetItem
、setItem
、またはにアクセスすることはできません。removeItem
localStoage.length = "foo"; // does not work
localStoage.setItem("length", "foo"); // works
var bar = localStoage.setItem; // gets the `setItem` function
var bar = localStorage.getItem("setItem"); // gets the value stored in the `setItem` key