与javascript原型对象混淆

时间:2013-03-12 05:13:09

标签: javascript prototype

当我们创建像这样的对象时

function Person(first,last){

this.first = first;
this.last = last;
this.full = function (){
   alert(this.first + " " + this.last); 
   }
}

obj = new Person('abdul','raziq');

我们还可以添加obj的原型吗

obj.prototype = 'some functions or anything ';

或者一旦我们创建了对象就不可能了?

并且人物对象上有__proto__属性

OBJ。__proto__

但是当我访问obj.prototype属性时它是未定义的吗?

有人可以用一种简单的方式解释

2 个答案:

答案 0 :(得分:1)

prototype属性仅存在于函数上,而不存在于函数实例上。阅读此StackOverflow答案以了解更多信息:https://stackoverflow.com/a/8096017/783743

答案 1 :(得分:0)

您可以执行类似

的操作
Person.prototype.full = function(){
   alert(this.first + " " + this.last); 
}

演示:Fiddle

原型对象附加到Class而不附加到实例,因此可以在创建实例后向原型添加/删除属性。所有类型的实例都将反映所做的更改。