// 相同功能的未命名函数。
var doubleNumber:Function = function(num:Number):Number {
return num*2;
}
// 这里,message参数是任意指定的。
function usesDefault(message:String = "hello"):void {
trace(message);
}
usesDefault("test"); // trace结果为 "test"
usesDefault(); // trace结果为"hello",即默认值。
------------------------------------------------------------------
使用默认参数值,你不但可以得到一个指定的默认参数值,而且可以让你定义的函数可以有任意的参数,甚至是不被使用的参数。在函数调用时,那些没有默认值的参数必须要提供,基于这一点,所有的自由定义的有默认值的参数都要定义在参数列表之后。你不能把那些必须的参数定义在自由定义的有默认值的参数之后。
// 错误代码
// 错误:没有必须的参数
// num定义在了message之后。
function usesDefault(message:String = "hello", num:Number):void {
// code
}//正确代码
// 正确; usesDefault至少需要一个参数,最大是两个参数
// least 1 argument, accepts 2 at max
function usesDefault(num:Number, message:String = "hello"):void {
// code
}
-------------------------------------------------
参数传递:
function passAnything(...statements):void {
trace(statements.length +": "+ statements);
}
passAnything(); // traces 0:
passAnything(1); // traces 1: 1
passAnything("a", true, 0); // traces 3: a,true,0
----------------------------------------------------
浙公网安备 33010602011771号