Переопределять глобальную переменную undefined в JavaScript нельзя, потому что это запрещено спецификацией. 1 С версии EcmaScript 5 переменная undefined указана как неизменяемая (non-writable). 1
Однако в старых браузерах эта спецификация не соблюдается, и в таких случаях можно переопределить переменную. 1
Важно помнить, что даже если глобальная переменная undefined переопределена, значение undefined всё равно существует. 2 Существует несколько способов его получения, один из которых — пустой аргумент функции, другой — объявление переменной без присвоения чего-либо. 2