gpt4 book ai didi

javascript - 无法使用变量访问对象属性

转载 作者:行者123 更新时间:2023-11-28 14:53:17 25 4
gpt4 key购买 nike

我有一个看起来像这样的对象:

var set_1 = {
id: 'set_1',
nameofSet : 'English fruits',
category: 'languages',
cards : [
{
front : 'apple',
back : 'jablko'
},
{
front : 'orange',
back : 'pomarancza'
},
{
front : 'pear',
back : 'gruszka'
}
]
}

现在有一个函数:

$('#chooseSet').on('click', '.setName', function() {
var setName = this.getAttribute("data-set-name");
editCards(setName);
});

这是 HTML:

<div class="setName" data-set-name="set_1">English fruits</div>

它将 setName 参数提供给 editCards 函数,如下所示:

editCards(setName) {
console.log(setName); // logs "set_1"
console.log(setName.cards); // logs "undefined" - why?
console.log(set_1.cards); // logs the `cards` array from `set_1'.
// code
}

它采用setName参数。

我的问题是 - 为什么第二个 console.log 不像第三个console.log`示例那样为我提供 cards' 数组?






最佳答案





因为任何属性的值都是字符串。因此,在您的情况下,data-set-name 返回字符串"set_1",它不是对变量set_1 的引用。如果您的 set_1 变量是全局变量,您应该能够执行此操作 -



console.log(window[setName].cards)








关于javascript - 无法使用变量访问对象属性,我们在Stack Overflow上找到一个类似的问题:

https://stackoverflow.com/questions/43780632/




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