Javascript getter 函数内的函数
Javascript getter function from within function
我正在尝试通过函数创建我的对象,但我无法弄清楚 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 函数分配给函数中的当前对象?
您可以尝试这样的操作:
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);
也许这对你有用:
function test()
{
this[0] = 123;
Object.defineProperty(this, "a", { get: function () { return this[0]; } });
}
我正在尝试通过函数创建我的对象,但我无法弄清楚 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 函数分配给函数中的当前对象?
您可以尝试这样的操作:
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);
也许这对你有用:
function test()
{
this[0] = 123;
Object.defineProperty(this, "a", { get: function () { return this[0]; } });
}