2012-05-22 4 views
5

JavaScriptのプロトタイプと非プロトタイプの違いは何ですか?どんな援助も深く感謝しています。プロトタイプ化されたメソッドとプロトタイプ化されていないメソッドはどちらですか?

+0

ここでは、プロトタイプの説明MDN - – ManseUK

+0

一つは上で定義されている> https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/prototypeそのオブジェクトelf、もう一方はオブジェクトのプロトタイプにあります。定義により。 –

答えて

10

非プロトタイプのメソッドは、クラスのすべてのインスタンスでメモリを占有します。

また、(クラスコンストラクタのスコープ内で宣言されていると仮定して)、そのスコープで宣言されている他のプライベート変数(またはメソッド)にアクセスできます。

例えば、これは、オブジェクトごとに関数のインスタンスを作成し、その機能がmyVarにアクセスすることができる:

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

この場合、オブジェクトのすべてのインスタンス間で共有される関数のインスタンスが1つだけありますが、それはmyVarにアクセスすることはできません。

function MyObject() { 
    var myVar; 
}; 

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

そんなrepキャップです...! – Alnitak

関連する問題