这可能是一个新手问题。我已经使用javascript多年了,但是才开始对此感到“认真”。我对“这个”有疑问
var defaults = {
baseId : 'item_',
baseName : this.baseId
}
console.log('defaults',defaults);
不知道为什么defaults.baseName是“undefined”怎么在花括号中引用一个东西?是否可以,或者我真的必须两次键入“item_”吗?
最佳答案
JavaScript对象文字是一种语法糖,因此它不起作用。
this; // at point A
var defaults = {
baseId : 'item_',
baseName : this.baseId
}
转换为
this; // point A
var defaults = new Object();
defaults.baseId = 'item_';
defaults.baseName = this.baseId; // "this" here is same as "this" at point A
您可以使用getter和setter。
{
baseId: 'item_',
get baseName() { return this.baseId; },
set baseName(x) { this.baseId = x }
}
关于javascript - 关于JavaScript中 “this”的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5614490/