我有一个类(构造函数)User
如何在构造函数的新创建的onjects上定义getter函数?
function User(id) {
this._id = id;
}
从我做我的对象,如user
var user = new User(9);
我想写这个user
对象getter函数,但实际上没有特别的它,而是由我的构造函数User
创建的所有对象。
不过,我觉得这应该工作,但它不是
Object.defineProperty(User, 'id', {
get: function() {
console.info('Using getter..');
return this._id;
},
// set:function(val) { alert('set value'); }
});
var user = new User(9);
console.info(user.id); // gives undefined
我想这是因为User
是一个构造函数,而不是实际的对象,定义getter函数那样不起作用。还有其他可能吗?
您设置它的方式,_id属性是公共的并且可以访问。添加一个getter函数是多余的。 – MjrKusanagi
有关原型的更多信息,请访问http://stackoverflow.com/a/16063711/1641941链接到可模拟受保护成员的模式最后 – HMR