【发布时间】:2017-04-20 05:09:59
【问题描述】:
我不理解原型和构造函数的一件事..
假设我有这个构造函数,它将创建一个具有“name”属性和“logName”方法的对象
function MyExample(param1){
this.name = param1;
};
MyExample.prototype.logName = function(){
console.log(this.name);
}
我知道我刚刚在构造函数的 (myExample) 原型中添加了一个方法 (logName)。所以当我使用这个构造函数创建一个新对象 (我) 时,该对象将继承 'name' 属性和 '日志名称'方法。 logName 方法将成为新对象(我)的 proto 属性
的一部分var me = new MyExample('bob');
me.logName(); //bob
..但是为什么不将 logName 方法添加到构造函数正在创建的对象中呢? (不是构造函数的原型)那不会提供相同的结果吗?即使 'logName' 不会成为新对象的 proto 属性的一部分。
function MyExample(param1){
this.name = param1;
this.logName = function(){
console.log(this.name)
};
};
var me = new MyExample('bob');
me.logName(); //bob
【问题讨论】:
标签: javascript constructor prototype