Javascript, var name = 1, "typeof name" ergibt "string"? [Duplikat

Diese Frage hat hier bereits eine Antwort:

var Name erzeugt seltsames Ergebnis in Javascript [duplizieren] 5 Antworten

Ich habe dieses seltsame Problem gefunden, als ich Javascript-Code wie unten geschrieben habe:

var name = 1;
alert(typeof name); // this will alert "string"
var b = 1;
alert(typeof b); // this will alert "number"

Ich habe "string" für "typeof name", aber "number" für "typeof b", aber ich denke, sie sollten beide "number" sein

Und dieser Code wird auch nicht ausgeführt:

var name = 1;
if (name === 1) {
    alert("ok")
}

Er wird nicht benachrichtigt, da der Typ des Namens "string" ist!

Ich habe den obigen Code in Chrome und Safari getestet. Beide haben dasselbe Ergebnis. Warum ist "typeof name" in diesem Fall "string"? warum ist der Variablenname "name" so besonders?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage