gpt4 book ai didi

javascript - 在for循环中访问函数外部的变量(对象)

转载 作者:行者123 更新时间:2023-11-30 17:40:18 26 4
gpt4 key购买 nike

我的问题听起来像是关于闭包的问题,​​但确实有一些不同。

var people = [{name: 'john', age: 20}, 
{name: 'james', age: 25},
{name: 'ryan', age: 19}];
var mainDiv = document.createElement('div', {id: 'mainDiv'});
for (var i = 0; i < people.length; i++) {
var button = document.createElement('button', {}, mainDiv);
var person = people[i];
button.onClick = function (e) {
console.log('printing name');
console.log(person.name);
};
}

这只是我编造的一个例子。由于 person 变量指向 people 数组的最后一个对象,因此在 for 循环的末尾,它总是在单击按钮时打印出最后一个元素。然而,我想要实现的是在单击每个按钮时打印出每个相应人员的姓名。我应该怎么做才能使内部“onClick”函数指向正确的对象?

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