Q:

JavaScript predefined variable "name"

I am learning JavaScript and just discovered that variable named name, actually is predefined, sitting in global context.

I created new, completely clear html file (have not even written any html in it). Also I tested it in chrome, opera and firefox, same...
I wonder why is that, beyond my curiosity, there was case when that variable was assigned to value "string", by itself, have not even touched it. Why is that there? what is it doing?

A:

Window.name is one of the predefined property of the global object window.
Since Stephan Bijzitter wants an answer with more details, here it is. 
Section 7.3.1 of the current living HTML standards states that window.name is a property of the global object window that returns the name of the window and can be set, to change the name.

The name attribute of the Window object must, on getting, return the current name of the browsing context; and, on setting, set the name of the browsing context to the new value.
The name gets reset when the browsing context is navigated to another origin.

