В окне Инструменты разработчика Chrome, я напечатал:Что особенного в переменной «name» в JavaScript?
> name = ["a", "b", "c"]
["a", "b", "c"]
Однако name
стала строка:
> typeof name
"string"
> name
"a,b,c"
> name[1]
","
Это, очевидно, не верно и для других имен переменных!
> foo = ["a", "b", "c"]
["a", "b", "c"]
> typeof foo
"object"
> foo[1]
"b"
И name
определяется как пустая строка на странице загрузки (и, насколько я могу судить, не может стать ничем иным, чем строка).
Итак, что случилось с name
?
Firebug имеет тоже. –
похоже, что имя уже существует до назначения его в массив. Значение по умолчанию - '' ''. Я подозреваю, что это встроенный/прототип, который является частью собственно языка. Несмотря на особенности. –
Еще одна вещь, которую я заметил, переменная остается установленной, даже если вы перезагрузите страницу, что не является нормальным поведением. – dajavax