【发布时间】:2020-12-17 02:23:28
【问题描述】:
我是 javascript 的初学者,我一直在编写一个 youtube 视频来创建一个记忆游戏。视频中的讲师使用以下循环创建了 12 个不同的“img”元素。在这里给你一点背景信息,她一直在做的是创建 12(for 循环中使用的数组的长度)图像元素,并将它们附加到类名为“grid”的父 div 元素中。所以我的问题是,
在下面的代码中,循环运行了 12 次,因为她已经输入了,
var card = document.createElement('img');
不应该用每次循环运行时创建的相同“img”元素替换卡片变量吗? (换句话说,这里发生的事情不是每次循环运行时都会覆盖 card 变量吗?)。但最后,当她展示结果时,已经创建了 12 张卡片。这是怎么发生的?
【问题讨论】:
-
document.createElement 每次都会创建一个新元素
-
虽然只有一个变量
card,但它的赋值在每次迭代中都会发生变化。 -
不是因为您丢失了对先前对象的引用,该对象不再存在。它仍然存在于网格中,尽管
card可能不再引用它。
标签: javascript for-loop dom javascript-objects createelement