在类中,什么时候应使用属性,什么时候应使用方法?

在类的构建过程中,对于一个特定值的访问既可以使用属性也可以使用方法

例子:

//实现


//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());

问题:

  • 在哪些情况下应使用属性,在哪些情况下应使用方法?

  • 使用属性和使用方法各有哪些优缺点

  • 有哪些介绍相关内容的文章或书籍?


狐的传说
浏览 820回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript