JavaScript初学——定义函数中的return

在今天,看到了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);
			}

一样打印成功。

猜你喜欢

转载自blog.csdn.net/weixin_40615146/article/details/85958328