2012-05-22 49 views
5

我想知道,JavaScript中的原型和非原型方法有什麼不同?任何幫助深表謝意。原型和非原型方法?

+0

MDN這裏原型的說明 - > https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/prototype – ManseUK

+0

一種是在定義反對它精靈,另一個在對象的原型上。根據定義。 –

回答

10

非原型方法將佔用類的每個實例中的內存。它也會(假設它在類構造函數的範圍內聲明)可以訪問在該範圍內聲明的任何其他私有變量(或方法)。

例如,這將創建每個對象的函數的一個實例,並且該功能可以訪問myVar

function MyObject() { 
    var myVar; 
    this.func = function() { ... }; 
}; 

在這種情況下,只有一個對象的每個實例之間共享的功能的實例,但它不會有myVar訪問:

function MyObject() { 
    var myVar; 
}; 

MyObject.prototype.func = function() { ... }; 
+0

該死的代表帽......! – Alnitak