Я попытался установить переменную в самой первой строке моего скрипта, чтобы я мог получить к ней доступ позже (и проверить, не было ли она неопределенной. Основная суть кода:
var map;
var mapIsVisible = false;
console.log(map);
function clearMap() {
if(map != undefined) {
map.clear();
}
}
clearMap();
FF, он работает отлично. Никаких ошибок вообще. Chrome выдает ошибку, которая говорит:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'clear'
, что привело меня к созданию console.log после создания экземпляра переменной, и я получил HTMLDivElement. Почему это так?что FF возвращает неопределенное значение, в то время как Chrome говорит, что это HTMLDivElement, когда его явно нет? Или Chrome устанавливает это для всех объявленных вами переменных, которые не имеют какого-либо типа?
Мое исправление было теперь явноскажем, что карта была неопределена:
var map = undefined;
и мой сценарий работает хорошо. Я хочу знать, почему это происходит для Chrome
РЕДАКТИРОВАТЬ Как сказано в ответахУ меня действительно есть элемент с идентификатором «map». Я не знал, что они автоматически добавили переменные JS для этого.