javascript adjuntando eventos

He visto que puedes adjuntar eventos como este.

<button type="button" id="myButton" onclick="myFunction()">

puedes hacer lo mismo sin el"onclick=", me gusta:

document.getElementById('myButton'). //and here attach the event on click to myFunction

Estoy tratando de mantener JavaScript y HTML separados.