我试图在node.js中的数组中的嵌套对象内调用this
,但它返回undefined
。
var foo = {
dog: 'max',
cat: {
names: [
{ grey: this.dog }
]
}
};
当我尝试foo.cat.names[0].grey
时,它会返回undefined
。我没有任何功能,所以我不相信我必须缓存this
,对吧?
答案 0 :(得分:2)
正如其他人所指出的那样,this
并不存在于块范围内,只存在于函数范围内。
最好在以下阶段定义对象:
var foo = {};
foo.dog = 'max';
foo.cat = {
names: [
{ grey: foo.dog }
]
}