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