gpt4 book ai didi

javascript-objects - 对象文字中的 Javascript 怪异嵌套赋值问题

转载 作者:行者123 更新时间:2023-11-29 09:57:49 25 4
gpt4 key购买 nike

我在对象字面量中定义了一个 JS 对象属性:

reqHeader: [{name:'Chris'},{age:'06'}]

我嵌套在同一个对象字面量的另一个属性中:

content: {headers:
{reqHeader: this.reqHeader}
},

现在,当我尝试从同一对象文字中的方法访问它时,它说它是未定义的:

getHeaders: function(){
var a = this.content['headers']['reqHeader'];
alert(a);
}

完整代码:http://jsfiddle.net/Amnesiac/zZP83/5/

谢谢,克里斯。

最佳答案

那是行不通的,因为 this 不是对该对象的引用。也就是说,JavaScript 将 this 设置为引用对象文字 block 内“正在构建”的对象,这不是这种情况。它保持设置为该表达式之外的任何值。

你可以做的是:

var obj = {
reqHeaders: /* whatever */,
content: {
headers: {
}
}
};

obj.content.headers.reqHeader = obj.reqHeader;

关于javascript-objects - 对象文字中的 Javascript 怪异嵌套赋值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8156020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com