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.