Почему в методе alert можно опустить объект document, а в методе write нет?
Потому-что alert — это  метод глобального объекта window, внутри которого Вы работаете, даже не указывая ссылку на него. А write — метод объекта document, который находится внутри объекта window.
https://developer.mozilla.org/en-US/docs/Web/API/W...
https://developer.mozilla.org/en-US/docs/Web/API/d...
Глобальная область видимости = window