Javascript, var name = 1, «имя типа» дает «строку»? [Дубликат]

На этот вопрос уже есть ответ:

var name дает странный результат в Javascript [duplicate] 5 ответов

Я обнаружил эту странную проблему, когда пишу код Javascript, как показано ниже:

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

Я получил "string" для "typeof name", но получил "number" для "typeof b", однако, я думаю, что они оба должны быть "number"

И этот код тоже не запустится:

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

Он не будет предупрежден, так как тип имени "строка"!

Я тестировал приведенный выше код в Chrome и Safari, они оба дают одинаковый результат, так почему же «typeof name» в данном случае является «string»? почему имя переменной "имя" такое особенно

Ответы на вопрос(1)

Ваш ответ на вопрос