JavaScript报错:未重复声明count却提示Identifier 'count'已被声明
报错原因与解决方案
原因
你的HTML文件中重复引入了index.js脚本:一次在<head>标签内,一次在<body>标签末尾。脚本每次被引入都会完整执行一次,第一次执行时let count = 0正常声明变量并输出0;第二次执行时,再次使用let声明同名变量count,而let不允许在同一作用域内重复声明标识符,因此触发语法错误。
解决方案
删除其中一个<script src="index.js"></script>引用。推荐保留<body>末尾的引用,这样脚本执行时页面DOM已加载完成,后续若需要操作DOM元素也不会出现未找到元素的问题。
修改后的HTML代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="index.css"> <title>Passenger Counter App</title> </head> <body> <h1>People Entered</h1> <h2 id="count-el">0</h2> <script src="index.js"></script> </body> </html>
内容的提问来源于stack exchange,提问作者Vishnupriya
相关产品推荐
相关产品推荐

