2012-09-30 21 views
7

私は次のことをやっている:window.localStorageとlocalStorageの間に違いはありますか?

var store = window.localStorage; 
store.setItem() 

が、今私は、コードがこれをやって参照してください。

localStorage.setItem() 

は、どちらも同じことをしますか?

+0

'window.'は「デフォルト接頭辞」ですので、「window.x = x」です。 –

答えて

10

カスタム定義されたスコープにlocalStorageという名前の変数が宣言されていない限り、それらは同じです。 localStorageは、window.localStorageを指す。実際にはグローバル名前空間内のすべての変数は、例えばwindow.<variableName>

としてアクセスすることができます。

<script> 
function foo() { 
    // here window.localStorage == localStorage 
} 
function foo2 { 
    var localStorage = 10; 
    // here window.localStorage != localStorage 
    // since you have a local variable named localStorage 
} 
</script> 
3

「ウィンドウには、」JavaScriptでグローバルオブジェクトなので、競合

ためのチャンスがありませんならば、あなたはそれをOMMITすることができます
0

グローバルオブジェクト

ウィンドウがデフォルトのプレフィックス

ですwindow.localStorageとのlocalStorage Window間に違いはありません0

ですが、localStorage属性がウィンドウオブジェクトの一部であるため、正しいものはwindow.localStorageです。

0

おそらく、window.localStorageはlocalStorageを書くよりも速くlocalStorageを見つけます。

変数への参照を格納する方がより高速になります。

とにかく、現代のブラウザではこれらの改善はごくわずかです。パフォーマンスが問題になっている場合にのみ役立ちます。
とにかく、そのようなことが行われている理由について、あなたは考えられます。

関連する問題