1.script控件
<script> 元素既可包含脚本语句,也可以通过 "src" 属性指向外部脚本文件。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>新建HTML</title>
</head>
<script>
document.write("Hello World!")
</script>
<body>
<h1>我的标题</h1>
<p>我的段落。</p>
</body>
</html>
2.按钮绑定功能function
<!DOCTYPE html>
<html>
<head>
<title>弹窗示例</title>
<script>
function showAlert() {
alert('这是一个弹窗!');
}
</script>
</head>
<body>
<button onclick="showAlert()">点击这里弹窗</button>
</body>
</html>
3.script绑定外部文件
<!DOCTYPE html>
<html>
<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">
<title>新建HTML</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<!-- 轮播图开始 -->
<div class="box" id="box">
<!-- 图片 -->
<ul class="pics" id="pics">
<li class="current">
<img src="imeges/banner1.png" alt="">
</li>
<li>
<img src="imeges/banner2.png" alt="">
</li>
<li>
<img src="imeges/banner3.png" alt="">
</li>
</ul>
<!-- 按钮 -->
<div class="btn" id="btn">
<a href="javascript:;" class="left-btn" id="left-btn"><</a>
<a href="javascript:;" class="right-btn" id="right-btn">></a>
</div>
<!-- 小圆点 -->
<ol class="sub" id="sub">
<li class="current"></li>
<li></li>
<li></li>
</ol>
</div>
<!-- 轮播图结束 -->
<!-- 引入外部js轮播图代码 -->
<script src="js/banner.js"></script>
</body>
</html>
script标签为什么要放在body标签的底部?script标签为什么要放在body标签的底部-帅地玩编程
因为浏览器在渲染html的时候,从上到下依次执行,遇到js文件就会停止当前页面的渲染,转而去下载js文件,如果将script标签放在头部,如果文件又很大的情况下,首屏时间就会延长,影响用户体验。
解决方法:
- 将script标签放到body的底部
- 通过defer\async属性将js文件转为异步下载
defer\async的区别 首先都是让js文件能够异步下载,不阻塞页面的渲染 区别就是defer必须等待整个文档渲染完成后才执行 而async在下载完成后,会暂停html的解析,转去执行js