JavaScript函数的参数列表的长度不固定

使用比声明更多或者更少的参数来调用一个Java或者C#方法将会产生编译期错误。而JavaScript忽略任何额外的参数,并且给缺少的参数赋值undefined。
function area(value){
   if (value){
      this.area = value;
   }
   return   this.area;
}
如果简单地调用area(), 那么value是未定义的,所以没有发生赋值,函数作为getter方法来使用。如果传入了一个值,函数就作为setter方法来使用。这种技术被Mike Foster的x库广泛使用。

posted on 2007-05-26 06:17  华威  阅读(798)  评论(0编辑  收藏  举报

导航