В следующем фрагменте кода JavaScript я ожидаю, что вывод console
будет 3
, но как в Chrome, так и в Mozilla, это 23. Почему?Длина массива строки в JavaScript
var status = ["Busy", "Preferred", "Available"];
console.log(status.length);
В следующем фрагменте кода JavaScript я ожидаю, что вывод console
будет 3
, но как в Chrome, так и в Mozilla, это 23. Почему?Длина массива строки в JavaScript
var status = ["Busy", "Preferred", "Available"];
console.log(status.length);
Существует уже window.status
(глобальная переменная с именем status
). Подробнее here.
Когда вы пытаетесь установить массив ["Busy", "Preferred", "Available"]
в свою глобальную переменную, будет вызываться setter window.status
. Таким образом, свойство window.status
будет содержать строку "Busy,Preferred,Available"
.
Итак, измените имя переменной или не используйте глобальные переменные (пожалуйста).
Похоже, что статус - это зарезервированная переменная из Chrome и Firefox, попробуйте использовать другое имя переменной.
Возможно, это ошибка, связанная с 'window.status'? – PHPglue
Да, все, что вы назначаете 'window.status', преобразуется в строку. – techfoobar
Да, 'окно' подразумевается без использования. – PHPglue