引用:两者都是用来定义函数的语法,一般使用上,两者没有区别,但是实践上两者有以下区别∶ ·区别一前者, 如果呼叫函数在定义函数前执行, 是无效的∶aaa();aaa = function () { trace("me");};但后者是有效的∶aaa();function aaa() { trace("me");}因为后者在整个Action Panel中程序是优先执行,前者则跟随程序所在顺序执行。·区别二前者叫Forward Referening,可以直接将函数定义在指定Object/Movie Clip∶mc.aaa = function() { trace("me"); };后者将函数定义在目前Timeline(Main Movie或某Movie Clip)中, 无法在Object里定义。区别三前者语法函数可以动态产生,后者语法不能够,试看看以下两个例子∶例子一 b = 1; if (b == 1) { aaa = function () { trace("me"); }; } aaa();例子二 b = 1; if (b == 1) { function aaa() { trace("me"); } } aaa();例子一可以执行,例子二就不能。