1

当我们创建这样的对象时

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 ';

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

并且在 person 对象上有一个__proto__属性

对象。__proto__

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

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

4

2 回答 2

1

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

于 2013-03-12T05:19:17.290 回答
0

你可以做类似的事情

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

演示:小提琴

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

于 2013-03-12T05:15:34.673 回答