A. 1. 函数定义式 - 函数变量式2. 函数语句定义法 - 函数表达式定义法 函数定义式 用function开头,function 函数名(){} 函数变量式 用 var 变量名 = function(){} ,即匿名函数 AS编译器会优先执行定义式的函数,而变量式函数则只能先定义,后使用(与变量一样,先定义,后使用) 变量式中this关键字绑定对象 定义式中this关键字只绑定场景var num:int = 3;function testThisA(){trace(this.num)//此处输出3}var testThisB:Function = function(){trace(this.num)//此处输出300}var Obj:Object = {num:300};Obj.TestA = testThisAObj.TestB = testThisB B. 按引用传入参数 AS3.0中,所有形参均为引用传入方式,只不过,基元数据是不变对象,所以与传值方式效果一样。1.形式参数数组函数中默认自动生成的arguments对象中保存有所有定义中的形参参数AS2.0中的arguments数组形参对象,存放所有传入的不定个数的形参参数。而在AS3.0中,argument则被严格限定存放形参定义中所定义个数的形参。arguments对象有一个length属性和一个callee方法。function 函数名(形参:数据类型,形参:数据类型){trace(arguments.length)arguments.callee//调用函数本体,一般用于创建递归}2.如果需要传入任意多个参数,则使用AS3.0中的rest关键字,即 ...特殊关键字 ...(rest)function 函数名(...参数名){//参数名可随意定义trace(参数名.length)}c. 最后要注意的,arguments与...rest关键字不能混用,使用了...rest则arguments则不能再使用