Сейчас я сделал, тоже самое что и вы. Теперь посмотрите на что ссылается this, т.е сначала на кнопку, а внутри функции myFunction - уже на объект window.
Если действительно интересно, то
http://learn.javascript.ru/object-methods
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<button>Click</button>
<script>
document.querySelector('button').onclick = function() {
// this ссылается на кнопку
alert(this);
myFunction();
function myFunction() {
// this ссылается на window
alert(this);
}
}
</script>
</body>
</html>
Насчет лучше/хуже - я лишь ответил на ваш вопрос.