IE делает большую пользу, создавая свойства window
для каждого элемента страницы со значением "id".Это просто вещь.( примечание: это утверждение на самом деле неверно. )
edit - да, элемент не имеет "id".Хорошо, хорошие новости - IE также обрабатывает ссылки по имени , как если бы они были по "id".Вспомните, что document.getElementById("cd")
на этой странице вернул бы ссылку на <a>
, как если бы он имел элемент "id".
снова отредактируйте Я думаю, что это не совсемПравильно сказать, что IE действительно создает window
свойства, по крайней мере, из-за того, что я прочитал о том, что говорит мне отладчик IE8.Это больше похоже на то, что интерпретатор обрабатывает неявную ссылку на глобальную переменную (в данном случае «cd») как запрос на то, чтобы он что-то искал в контексте глобальной страницы под этим именем.Для IE этот процесс включает проверку DOM для элементов с этим значением «id» или «name».Используя ключевое слово var
, вы явно указываете интерпретатору, что объявляете символ в применимой области (здесь, глобальная), так что процесс «поиска» пропускается.