perché quello che associ all'evento è una funzione non una stringa contenente delle istruzioni. La sintassi corretta è:
input1.onClick= function(){document.write('ciao');}
Tu sei abituato alla notazione DOM0: <input onclick="document.write('ciao');" />
Ma, vedi, quella notazione permette di indicare solo le istruzioni da eseguire nella funzione, tuttavia non era molto pratica in termini scrittura (provaci a metterci un for(){} li dentro...), per questo è sempre meglio utilizzare la notazione
input1.onclick = function(e){
}
che ti permette di usare più righe e di scrivere codice più comprensibile.

Rispondi quotando