loadin Do…

一条只能往前走的路,叫时光.

首页 联系 订阅 管理

demo1

 function loop():String {
  var [i,s,v]=[10,'',0];
  while (i-->0) {
   s+=i+"+";
   v+=i;
  }
  return s.substr(0,s.length-1)+"="+v;
}
Util.print(loop());
class dummy extends Array {
  function dummy() {
    this.push("World!");
    this.unshift("Hello");
    Util.print(this.join(", "));
  }
}
new dummy;



Title

public class Util
    {
        static private var _logger:ILogger = null; static public function set logger(value:ILogger):void {
            _logger = value;
        }
       
        public static function print(...args):void {
            var s:String = args.join(" - ");
            if (_logger!=null) {
                _logger.print(s);
            }
            trace(s);
        }

    }
}


// 相同功能的未命名函数。
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

----------------------------------------------------


posted on 2008-03-24 13:57  i'am sl  阅读(349)  评论(26)    收藏  举报