在类的构建过程中,对于一个特定值的访问既可以使用属性也可以使用方法
例子:
//实现
//Point类,表示平面上的一个点
function Point(x,y){
this.x = x;
this.y = y;
//距原点的距离,使用属性来实现
Object.defineProperty(this,"distance",{
get: function(){
return Math.sqrt(this.x*this.x + this.y*this.y);
}
});
}
//距原点的距离,使用方法来实现
Point.prototype.getDistance = function(){
return Math.sqrt(this.x*this.x + this.y*this.y);
}
//访问
var a = new Point(3,5);
//使用属性访问
Console.log(a.distance);
//使用方法访问
Console.log(a.getDistance());
问题:
在哪些情况下应使用属性,在哪些情况下应使用方法?
使用属性和使用方法各有哪些优缺点?
有哪些介绍相关内容的文章或书籍?
相关分类