2013-03-12 126 views
1

當我們創建這樣混亂與JavaScript的原型對象

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屬性其未定義?

有人可以請儘可能簡單的方式解釋

+0

答案是肯定的,您可以在創建對象實例後添加到原型中。 – 2013-03-12 05:17:19

+0

我已修改我的問題請再次閱讀 – 2013-03-12 05:18:32

+0

我想添加到obj原型屬性,是否可以添加到obj原型屬性 – 2013-03-12 05:19:56

回答

0

你可以做這樣的事情

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

演示:Fiddle

原型對象連接到Class不實例所以,是您可以在創建實例後向原型添加/刪除屬性。並且該類型的所有實例都將反映所做的更改。

+0

抱歉,我已更正我的問題,請再次閱讀,謝謝 – 2013-03-12 05:17:10

1

prototype屬性只存在於函數上,而不存在於函數的實例上。閱讀此StackOverflow答案以瞭解更多信息:https://stackoverflow.com/a/8096017/783743

+0

非常感謝你aadit – 2013-03-12 05:23:35