我试图通过函数创建我的对象,但我无法弄清楚getter函数的语法。
var myObject =
{
0:123,
get a()
{
return this[0];
}
}
console.log("This works: " + myObject.a);
function test()
{
this[0] = 123;
// error
this.a = get function()
{
return this[0];
};
}
var myTest = new test();
console.log(myTest.a);
在测试函数中,get函数的赋值会抛出一个缺少的分号错误,如果删除关键字“function”,则表示get未定义。
如何在函数中为当前对象指定一个getter函数?
答案 0 :(得分:2)
您可以尝试这样的事情:
var myObject =
{
0:123,
get a()
{
return this[0];
}
}
console.log("This works: " + myObject.a);
function test()
{
this[0] = 123;
Object.defineProperties(this, {"a": { get: function () {
return this[0];
}}});
}
var myTest = new test();
console.log(myTest.a);
答案 1 :(得分:0)
也许这对你有用:
function test()
{
this[0] = 123;
Object.defineProperty(this, "a", { get: function () { return this[0]; } });
}