为什么不能在 body 标签的前面的 script 标签中定义 JS 全局变量?
<!DOCTYPE html>
<!--
为什么不能在 body 标签的前面的 script 标签中定义 JS 全局变量?
在全局环境下的代码就是在页面加载阶段从上到下一边加载一边执行的
这时处于代码下面的页面元素还没有加载完,访问不到。
解决方法: 在 body 标签的后面 script 标签中定义 JS 全局变量
-->
<html>
<head>
<script>
var id = document.getElementById("test");
alert(id); //获取不到 div 的对象
function testDemo(){
var id2 = document.getElementById("test");
alert(id2); //可以获取到 div 对象
}
</script>
</head>
<body>
<div id="test">test</div>
<hr boder="solid red 3px"/>
<button onclick="testDemo()">测试按钮</button>
</body>
</html>
<script>
var id = document.getElementById("test");
alert(id); //获取不到 div 的对象
</script>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步