Javascript this.method与prototype.method的区别是什么
如本主题所述,当我们定义未来对象时(例如): 这两种方法都可用于新创建的对象。唯一的区别是“this”表达式将为每个实例创建此方法,并且使用“prototype”将在内存中共享(据我所知)。我面对过两种表达方式,有趣的是,第一种表达方式比第二种表达方式更受欢迎Javascript this.method与prototype.method的区别是什么,javascript,Javascript,如本主题所述,当我们定义未来对象时(例如): 这两种方法都可用于新创建的对象。唯一的区别是“this”表达式将为每个实例创建此方法,并且使用“prototype”将在内存中共享(据我所知)。我面对过两种表达方式,有趣的是,第一种表达方式比第二种表达方式更受欢迎 我的问题是。。。JavaScript中的第一种或第二种正确方法是什么?(我知道这两种方法都有效,但是……什么是代码工程标准以及为什么)。正确的方法是第二种方法(您还需要原型做什么?) 第一种方法的优点是能够获得类似私有变量的东西:如果您在
我的问题是。。。JavaScript中的第一种或第二种正确方法是什么?(我知道这两种方法都有效,但是……什么是代码工程标准以及为什么)。正确的方法是第二种方法(您还需要原型做什么?)
第一种方法的优点是能够获得类似私有变量的东西:如果您在构造函数(
function Person
)中声明一个局部变量,那么您将能够在sayName
方法中使用它,因为。在你的“课堂”之外无法访问该变量。查看相关问题的侧边栏。
function Person(name) {
this.sayName = function() {
console.log(this.name);
};
}
Person.prototype.sayName = function() {
console.log(this.name);
};