我有一個類(構造函數)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