Если взять 2 выше приведённых примера:
<script>
document.onmousemove = function() {
alert(this);
};
</script>
<script>document.onmousemove = function() {
alert(this);
}();
</script>
По моей логике, они должны выдавать одинаковый результат. В первом случае выводится из-за того, что мышь двигается, во 2м из-за того, что функция сначало вызвала сама себя, а потом из-за того, что мышь двигается.
Чёт я запутался в этих функциях