Is there any difference between: window.localStora

2019-04-18 14:24发布

问题:

I have been doing the following:

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

but now I see code doing this:

localStorage.setItem()

Do both do the same thing?

回答1:

Unless you've declared a variable named localStorage in a custom defined scope, they're the same. localStorage refers to window.localStorage. In fact every variable in global namespace can be accessed as window.<variableName>

For example:

<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>


回答2:

"window" is the global object in Javascript, so you can ommit it if there's no chance for a conflict



回答3:

there is no difference between the window.localStorage and localStorage the Window is the global object

the window is the default prefix

but the correct one is window.localStorage because the localStorage attribute is part of window object.



回答4:

Supposedly, window.localStorage makes the localStorage faster to be found than just writing localStorage.

Storing a reference to it on a variable makes it even faster.

Anyway, these improvements are negligible on modern browsers. It only becomes useful if performance is being an issue.
Anyway, you get a possible idea about why it is being done like that.