gpt4 book ai didi

javascript - 为什么我的函数使用 DOM 导致未定义?

转载 作者:行者123 更新时间:2023-11-29 17:46:28 26 4
gpt4 key购买 nike

我是 DOM 的新手,正在尝试创建此函数以在 HTML 中创建 16x16 网格。我正在使用 JavaScript 创建 HTML 和 CSS。但是,每当我返回函数时,它都是未定义的。我做错了什么?

const cellSize = 16;

function createGrid(cellSize) {
const container = document.querySelector('container');
for (i=0; i<cellSize; i++) {
for (j=0; j<cellSize; j++ ) {
let row = document.createElement('div');
row.classList.add('row');
row.style.display = 'inline-block';
row.style.cssText = 'height: 50px; width:50px;';
row.style.border = 'solid';
row.style.backgroundColor = 'blue';
}
container.appendChild(row);
return row;
}
};

console.log(createGrid());
<!DOCTYPE html>

<html>
<head>
<meta charset='utf-8'>
<link rel="stylesheet" href="style.css">
</head>

<body>

<container>

</container>





</body>

</html>

最佳答案

您在内部 for 循环的 block 内使用 let 语句声明 row,然后从 返回它在那个街区之外。因此它是 undefinedlet 声明将其变量限定在最近的封闭 block 内。

变量 row 应该在函数的最顶部用 let 声明,并且 return 语句(看起来不像无论如何确实有必要)应该在外部 for 循环之外。

关于javascript - 为什么我的函数使用 DOM 导致未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48999849/

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