gpt4 book ai didi

javascript - console.log(document.head) 结果随着每次刷新交替出现

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

我刚刚发现了一些让我非常困惑的事情:

  <!DOCTYPE html>
<html lang="en">
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
console.log(document.head);
</script>
</body>
</html>

每次我在 Safari 和 Chrome 中刷新此页面时,控制台输出都会在 JavaScript“HTMLHeadElement”和 HTML 本身之间交替。

有人愿意详细说明吗?

最佳答案

我在 Chrome 中尝试了这个实验并得到了相同的结果。我的猜测是 webkit 实现中的某种解析竞争条件。

当我修改代码以不立即运行代码时,我可以获得一致的结果。

<script type="text/javascript">
setTimeout(function() { console.log(document.head) } , 0);
</script>

控制台将显示带有展开/折叠三 Angular 形的 HTML,因此可能是一个对象。

<head>
<title></title>
</head>

如果我添加 .outerHTML,我也会在那里获得一致的结果,将 HTML 记录为字符串。

<script type="text/javascript">
console.log(document.head.outerHTML);
</script>

最后,添加一个 .toString() 将一致地记录 [object HTMLHeadElement]

<script type="text/javascript">
console.log(document.head.toString());
</script>

关于javascript - console.log(document.head) 结果随着每次刷新交替出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12736679/

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