html - JavaScript 这句怎么不能在 function 外面声明?
本文介绍了html - JavaScript 这句怎么不能在 function 外面声明?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我记得以前学的时候,只要在全局声明了变量,function 内也能用,可这里为什么出错呢?
正常情况:
<script>
function addTextNode(text)
{
var newtext = document.createTextNode(text);
var p1 = document.getElementById("p1"); //这句为什么不能定义在外面!!
p1.appendChild(newtext);
}
</script>
<body>
<button onclick="addTextNode('WE CAN!');">WE CAN!</button>
<hr/>
<p id="p1">First line of paragraph.</p>
</body>
错误情况:
<script>
var p1 = document.getElementById("p1"); //这句为什么不能定义在外面!!
function addTextNode(text)
{
var newtext = document.createTextNode(text);
p1.appendChild(newtext);
}
</script>
<body>
<button onclick="addTextNode('WE CAN!');">WE CAN!</button>
<hr/>
<p id="p1">First line of paragraph.</p>
</body>
解决方案
在执行<script>的时候,文档还没有载入完,<p id="p1">
在下面,还没被载入,所以此处var p1获取不到东西。如果把这段script放到<p id="p1">
的下面,就能正常工作。
这篇关于html - JavaScript 这句怎么不能在 function 外面声明?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文