1
var func_obj = function() {
    console.log('wat');
    this.my_proto_method();
};

func_obj.prototype.my_proto_method = function() {
    console.log('how do I programming');
};

​func_obj();​

上記のコードを機能させようとしています。私が読んだことから、これはうまくいくはずですが、ここで何が間違っているのかわかりません。また、ここでフィドルをセットアップします

4

2 に答える 2

2

プロトタイプ オブジェクト/メソッドにアクセスするthisには、func_obj の新しいインスタンスを作成する必要があります。インスタンスを使用せずにプロトタイプ メソッドにアクセスする場合は、prototype プロパティを as として使用する必要があります func_obj.prototype.my_proto_method()

var func_obj = function() {
    console.log('wat');
    this.my_proto_method();
   // if called without new then access prototype as : func_obj.prototype.my_proto_method()
};

func_obj.prototype.my_proto_method = function() {
    console.log('how do I programming');
};

​new func_obj();​
于 2012-10-17T20:38:06.873 に答える
2

func_obj への呼び出しの前に、新しいプレフィックスを付ける必要があります。

var func_obj = function() {
    console.log('wat');
    this.my_proto_method();
};

func_obj.prototype.my_proto_method = function() {
    console.log('how do I programming');
};

​var foo = new func_obj();​
于 2012-10-17T20:38:22.477 に答える