我正在尝试使用此方法在包含此对象的变量的对象内创建一个数组,但是我收到了一个错误。 我用错了吗? 谢谢你的帮助
var data = {
p: [{content: "p",
text: "this is random text" },
{content: "p",
text: "this is a second random text"
}],
img: [{content: "image",
src: "data/img/1_1.png",
alt: "This a an image"},
{content: "image",
src: "data/img/1_2.png",
alt: "This is the second image"}],
title: {content: "title",
text: "Ceci est un titre"},
//This doesn't work
all: [this.title, this.p[0], this.img[0], this.p[1], this.img[1]]
}
//But this works
console.log(data.title);
console.log(data.p);
console.log(data.img);
答案 0 :(得分:0)
this
关键字在构造之前不会指向您当前的对象。
我猜测this
是指您的下一个最高范围或Window
对象。
在浏览器控制台中进行快速测试:
var a = {"test": this};
console.log(a["test"]); //Window
当您需要以这种方式聚合的数据或者找到更好的方式来填充该属性时,您最好立即进行查询。