html代码是从上往下依次执行,<script>放在<head>中时,会在页面加载之前加载到浏览器里,放在<body>中时,会在页面加载完成之后读取。
所以:在head中checkInput1 为undefined,而在body的script标签中checkInput2为Object
<html> <head> <title>验证码</title> <meta charset="UTF-8"> <script type="text/javascript"> var checkInput1 = document.getElementsByName("checkcode")[0]; console.log(typeof(checkInput1)); //undefined </script> </head> <body> <form> 验证码<input type="text" name="checkcode"/> </form> <script type="text/javascript"> var checkInput2 = document.getElementsByName("checkcode")[0]; console.log(typeof(checkInput2)); //Object </script> </body></html>原文链接:https://blog.csdn.net/qq_42890157/article/details/84197363