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 的新实例。如果你想访问带有实例的原型方法,那么你必须使用原型属性 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 回答