gpt4 book ai didi

JavaScript undefined variable 是自动定义的吗?

转载 作者:行者123 更新时间:2023-12-03 17:57:59 28 4
gpt4 key购买 nike

JavaScript 是否会自动尝试定义 undefined variable 以:

document.getElementById('someUndefVarName')

如下所示,以下内容似乎是等价的:

<div id="myUndefVar">:)</div>
<script>
alert(myUndefVar); // why does this work!?
alert(document.getElementById('myUndefVar'));
</script>

参见 JSFiddle 示例:http://jsfiddle.net/AH35k/1/

或者是发生了其他我不明白的事情?这真的让我措手不及,因为我预计会出现某种错误,因为我使用的是“use strict”。

最佳答案

一些(并且只有 一些)浏览器根据 ID 创建全局变量。

这在调试时很有用(即在 chrome 控制台中,您只需键入“Blah”即可使用 id="Blah" 访问 HTML 元素),但不应依赖跨浏览器工作

此外,如果你这样做:

<div id="myUndefVar">:)</div>
<script>
var myUndefVar;
alert(myUndefVar);
</script>

或者这个:

<div id="myUndefVar">:)</div>
<script>
alert(myUndefVar);
var myUndefVar;
</script>

然后 alert 将显示值 undefined。如果在同一作用域中没有定义具有相同名称的其他 var(包括提升,如第二个示例中所示),它将仅查找元素的命名 ID。

关于JavaScript undefined variable 是自动定义的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21340666/

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