первое нажатие на "test" удаляет строку, второе - проверяет наличие input: присваивает кнопке test найденный обьект и если обьект существует - выдаёт alert
так вот: FF 1.5 присваивает test = undefined и alert_а не возникает
Именно 0 а не NULL
И тогда всё ОК. Правда это я проверял лишь в фаерфоксе, насчёт других браузеров не скажу.
Ай, молодец, вот это - экстремальное программирование.
А почему "Именно 0" - может лучше "-1"?
А вот так не пробовал:
document = "ПРЕВЕД МЕДВЕД!";
тогда, наверное совсем все ОК будет.
Дело в том, что в JavaScript переменные меняют тип при присваивании им значений другого типа, поэтому можно делать так:
var i="привет"; // щас тип i - string
i=1; // щас тип i - int
Язык JavaScript содержит шесть типов данных: Undefined (неопределенный), Null (нулевой), Boolean (логический), String (строковый), Number (числовый) и Object (объектный).
NULL - это обозначение несуществующего объекта, 0 - это int и никакого автоматического преобразования между ними не происходит.
После уничтожения объекта штатными средствами: removeChild, document.forms[0]["aaa"] должен получить значение Undefined, что легко проверить.
Если же, согласно документации, присвоить объекту значение типа Number, то создастся новый числовой объект с данным значением по умолчанию, т.е. объект Number со значением 0...