问题是:是否可以在 JavaScript 中使用对象初始值设定项创建如下结构?
var human = new function (years) {
var age = years;
Object.defineProperties(this, {
age: {
enumerable:true,
get: function () {
return age;
},
set: function (value) {
if( typeof value != 'number') throw 'Age must be a number';
age = value;
}
}
});
}
我试图做的事情:
var years = 0;
var human = {
_age: years,
get age () {
return this._age;
},
set age (value) {
if( typeof value != 'number') throw 'Age must be a number';
this._age = value;
}
}
这个例子更直观和“友好”(至少对我来说),但我需要“_age”是本地的,就像在前面的例子中一样。
是否可以在对象初始化器中创建局部变量?