我对原型不太熟悉,我确信这是不正确的实现,但我已经整理了一个我想要实现的小例子。
我可以使原型成为文字对象而不是函数,但是遇到了无法访问我正在创建原型(在本例中为人)的对象中的变量/属性的问题。
Person = function() {
this.name = 'mike';
this.departureSaying = 'Adios amigo!';
}
Person.prototype.say = function() {
var self = this;
function hello() { alert('hello my name is ' + self.name); }
function goodbye() { alert(self.departureSaying); }
}
var mike = new Person();
mike.say.hello();
mike.say.goodbye();
如果你运行它,你会得到 Object has no method hello and goodbye。