在今天,看到了JavaScript中的return,主要目的是可以通过方法定义返回值(并打印),由于本次的函数中打印的媒介是p,因此以我个人刚开始写代码的习惯,并没有把代码卸载body内部,而是写在了head当中,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函数的调用</title>
<script type="text/javascript">
//定义一个运算函数
function addDemo(e,f){
return e+f;
}
document.getElementById("add").innerHTML = addDemo(3, 4);
</script>
</head>
<body>
<p>打印计算结果</p>
<p id="add"></p>
</body>
</html>
本以为结果能够如预期打印出来,没想到的是,打印过程中,赋予了“add”为id的那一行p被显示代码中存在,却无法打印出结果。
随后我w3school中的教程代码复制到script当中,一样无法打印。
最后,最好的一个解释如下(引用自 李-进 博客:https://blog.csdn.net/m0_37550086/article/details/77513676 ):
JavaScript 会操作html元素, 如果在body加载完之前写JavaScript 会造成JavaScript 找不到页面元素
但是我们经常将script写到head中,body中不会有大量的js代码,body中的html代码结构会比较清晰
于是代码经过修改后得到了如下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函数的调用</title>
<!--<script type="text/javascript">
//定义一个运算函数
function addDemo(e,f){
return e+f;
}
document.getElementById("add").innerHTML = addDemo(3, 4);
</script> -->
</head>
<body>
<p>打印计算结果</p>
<p id="add"></p>
<!--
作者:小小帕金森
时间:2019-01-06
描述:如果这个<script></script>直接写入在<p></p>之前,会导致document没有加载到p,从而没有办法get
-->
<script type="text/javascript">
//定义一个运算函数
function addDemo(e,f){
return e+f;
}
document.getElementById("add").innerHTML = addDemo(3, 4);
</script>
</body>
</html>
打印成功。
随后,测试window.onalod事件,关键代码:
//也可以加入window.onload事件,使得该函数在读取完毕所有内容后再读取该函数
window.function() {
function movDemo(a,b){
return a*b;
}
document.getElementById("mov").innerHTML=movDemo(4,6);
}
一样打印成功。