gpt4 book ai didi

javascript - 数组的未捕获类型错误

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

我是一名初学者,正在使用 Java Script 开发一个简单的 Tic Tac Toe 游戏。每个游戏领域都在“领域”数组中定义。我想要一个“for”循环来在单击时将字段中的值更改为“X”。

这是我正在使用的代码,它给我以下错误消息:Uncaught TypeError: Cannot set property 'textContent' of undefined 在 HTMLTableCellElement.fields..onclick 。控制台日志工作正常。

for(var b=0; b < fields.length; b++){
fields[b].onclick = function(){
console.log("content changed")
fields[b].textContent= 'X'}
};

我不明白为什么这不起作用,虽然它完全按预期工作并将每个单元格的值更改为“g”:

for(var b=0; b < fields.length; b++){
fields[b].textContent ="g"
};

当我使用数组中的一个字段时,它也能正常工作。

fields[3].onclick = function(){
console.log("content changed")
fields[3].textContent= 'X'}

为什么我的代码给我错误消息?

最佳答案

您的索引 b当它尝试设置 eventlistener 和 textContent 时被解析为循环结束时的值。

尝试使用“let”而不是“var”(对我来说 let 有效)。

for(let b=0; b < fields.length; b++)

关于javascript - 数组的未捕获类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56351974/

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