2

重複の可能性:
JavaScriptプロパティへのアクセス:ドット表記と角かっこ?

私はChrome拡張機能の初心者です。私はJavaを知っていますが、Javascriptはまったく異なるものです。

localStorage["something"]との違いは何localStorage.somethingですか?

角括弧とドット。

4

1 に答える 1

5

違いはありません。実際、JavaScript 全体では、2 つの構文に違いはありません。

someObj.someProp === somObj["someProp"];

唯一の違いは、特定の文字が文字列では有効であり、ドット プロパティ名では有効でないことです。

someObj["some-prop"] // valid
someObj.some-prop // this is actually the value of `someObj.some` minus the value of `prop`

値を格納するこれらの方法はどちらも、メソッドとメソッドlocalStorageを使用する場合と同じであることに注意してください。W3C仕様によると:.getItem.setItem

各 Storage オブジェクトは、 item と呼ばれることもあるキーと値のペアのリストへのアクセスを提供します

これらの項目は、同じ名前の object プロパティを介して、または および を使用して名前で参照することにより、アクセスおよび変更可能.getItemです.setItem。唯一の違いは、保存前にオブジェクトを JSON 化するなど、関数を上書きしてラッパーを提供できることです。

localStorage.setItem = function(key, val) {
    localStorage[key] = JSON.stringify(val);
}
于 2012-08-23T16:35:09.163 に答える