我可以将get
用于各个属性,例如:
function MyObjectConstructor() {
this._internalValueOne = 'foo';
this._internalValueTwo = 'bar';
}
MyObjectConstructor.prototype = {
get usefulValueOne() {
return this._internalValueOne + 'baz';
},
get usefulValueTwo() {
return this._internalValueTwo + 'baz';
}
}
var myObject = new MyObjectConstructor();
现在myObject.usefulValueOne
提供'foobaz'
,myObject.usefulValueTwo
提供'barbaz'
。我可以以某种方式使用get
来确保myObject
(以及基于MyObjectConstructor
的任何其他对象)也返回{usefulValueOne: 'foobaz', usefulValueTwo: 'barbaz'}
之类的对象吗?或者还有其他一些首选的方法吗?
当然,我也对set
感到奇怪。
答案 0 :(得分:0)
你可以用这个:
function MyObjectConstructor() {
this._internalValueOne = 'foo';
this._internalValueTwo = 'bar';
}
MyObjectConstructor.prototype = {
get usefulValueOne() {
return this._internalValueOne + 'baz';
},
get usefulValueTwo() {
return this._internalValueTwo + 'baz';
},
get showProt(){
var B = {};
for (var i in this){
if (i.hasOwnProperty && (i !== 'showProt')){
B[i] = this[i];
}
}
return B;
}
}
var myObject = new MyObjectConstructor();
现在myObject.showProp将显示一个包含所有属性的对象(包括私有,你应该删除它们)