.prototypeを使用して作成された関数は、ローカル変数にアクセスできるはずだと思いました。これが私が話していることです:
function obj() {
var a = "String";
this.innerPrint = function() {
document.write("<p>" + a + "</p>");
};
}
obj.prototype.outerPrint = function() {
document.write("<p>" + a + "</p>");
};
var inst = new obj();
inst.innerPrint();
inst.outerPrint();
私が思うに、これらの機能は両方とも同じことをするだろうということです。しかし、実際に起こったことは、outerPrintが変数aにアクセスできないことです。プロトタイプ関数でローカルを取得する方法を誰かに説明してもらえますか。
このコードを実行しているフィドルは次のとおりです:http: //jsfiddle.net/Wryte/mxXzg/
ちなみに、オブジェクトの各インスタンス化には関数のコピーがありませんが、それぞれが同じものを指しているため、プロトタイプ関数を使用したいと思います。