我想使財產可調或不可調。因此,例如:使財產可以調用或不調用
function Test() {
var obj = { someString: 'here is text' };
Object.defineProperty(obj, 'string', {
get: function() {
return obj.someString;
},
set: function() {
return function(val) {
obj.someString = val;
}
}
});
return obj;
}
var test = new Test();
這樣,我可以這樣做:
test.string // initially returns 'here is text'
test.string('new text here') // sets obj.someString to 'new text here'
test.string // returns 'next text here'
上面的代碼目前不發揮作用,我希望它的方式。無論如何在JavaScript中做這樣的事情?或者使用Object.defineProperty
或不使用
什麼用的情況下,這種行爲? –
@shambalambala我在這裏提出了一個更好的問題:http://stackoverflow.com/questions/43923053/how-to-make-a-property-method-invokable-or-not – georgej