Difference between "function foo()" and "foo = function()" syntax, confusing

Hello all,

This might be a stupid question, but here it goes. I was following the tutorials by senocular on trigonometry http://www.kirupa.com/developer/actionscript/trigonometry.htm
and I was attempting to do my own simple 2d animation, using the mouse to determine the direction of the rotation.

I defined my functions in the following manner

function rotateCircle(){ ...} 
this.onEnterFrame = rotateCircle();

this cause rotateCircle to run only once.

Now when I defined as

 rotateCircle = function(){...} 
this.onEnterFrame = rotateCircle;

The code will repeatedly run and I got the effect a wished checking the mouse position and so forth and so on.

Can somebody please tell what is the difference in the syntax
and why the later gets repeated??

Thanks in advance