我正在尝试创建一个简单的 Person 对象,它的原型属性之一将是一个对象,但这似乎不可能,因为范围发生了变化。
var Person = function() {};
Person.prototype.set = function(data) {
this.data = data;
};
Person.prototype.update = {
name: function(name) {
this.data.name = name;
}
};
var me = new Person();
me.set({name: 'Achilleas'});
me.update.name('John');
你也可以在这个jsFiddle上运行它
我想要实现的目标可能吗?我知道我可以通过使用 apply 分配范围来做到这一点,但我不太喜欢这个解决方案。
感谢您花时间回答我关于 Stackoverflow 的第一个问题。