为什么在JavaScript对象中使用公共方法?

Aur*_*ile 24 javascript prototype object public-method

我是一个小型研究小组的成员,正在努力更好地掌握JavaScript的作用.在我们最近关于对象的讨论中,我们已经了解到每次实例化对象时都会重新创建对象的公共方法,而分配给对象原型的方法只创建一次并由所有实例继承.根据我的理解,公共方法和分配给原型的方法都是公开访问的.

那么,我的问题是,如果添加到原型显然更有效,为什么还要创建公共方法呢?公共方法提供的原型没有什么好处?

Jam*_*rpe 24

具体回答:

公共方法提供的原型没有什么好处?

构造函数中添加的方法可以访问私有信息,例如:

function Student() {
    var name = 'Bob';
    this.GetName = function() {
        return name;
    }
}

Student.prototype.SomeOtherPublicMethod = function() {
    //no access to name
}
Run Code Online (Sandbox Code Playgroud)