Только сегодня, через пару лет программирования javascript, я наткнулся на то, что меня поразило. Браузеры создают объекты для каждого элемента с идентификатором. Имя объекта будет соответствовать идентификатору.
Итак, если у вас есть:
<div id ="box"></div>
Вы можете сделать:
alert(box); //[object HTMLDivElement]
Не назначая ничего этой переменной. См. демонстрацию.
Это почему-то кажется в стандартах, даже если оно может сломать код в в некоторых случаях. Существует ошибка чтобы прекратить это поведение, но я больше заинтересован в том, чтобы избавиться от него сейчас.
Вы, ребята, знаете, есть ли способ отключить это (строгий режим)? Я придаю этому слишком большое значение? Потому что это, безусловно, похоже на плохую идею. (Он был введен IE, чтобы дать вам подсказку).
Обновление: Кажется, что FF делает это только в режиме quirks. Другие браузеры, такие как IE6 + и Chrome, делают это сразу же с места.