目录
1.嵌入标签/脚本script式
2.在标签内部的事件属性中写JS代码:行内式
3.外部导入(外部的js文件)
3.1 ES5这个版本中
3.2 ES6这个版本中(后续学习ES6再回来看)
4.在控制台中
5.script标签书写的位置推荐
1.嵌入标签/脚本script式
写在网页中 head 和 body 的 script 标签中,script标签中就可以写JS代码 。其中,如果页面中有多个script脚本标签,会先运行先写的script标签中的JS代码。
<!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">
<title>Document</title>
<script>
console.log(555);
</script>
</head>
<body>
<script>
console.log(666);
</script>
<script>
console.log(777);
</script>
</body>
</html>
结果:
2.在标签内部的事件属性中写JS代码:行内式
<!-- 跳转事件:点击跳转执行javascript中代码:console.log(999) -->
<a href="javascript:console.log(999)">去不了京东</a>
<!-- 点击事件:点一次打印一次 -->
<button onclick="console.log(700)">点我</button>
<a href="javascript:void(0)">没反应写法1</a>
<a href="javascript:;">没反应写法2</a>
3.外部导入(外部的js文件)
通过script标签其中的src属性(一定要写src属性),加载js文件,并运行这个js文件(以后学习后端时还继续学习)
注意:.js结尾的文件,里面只能写js代码,不能再在里面用script标签的src属性再引用其它js文件。
js文件:
通过script标签中scr属性引入外部js文件:
<script src="./test.js">外部的js文件导入</script>
3.1 ES5这个版本中
<script src="./test.js">
console.log(123); //es5版本中 ,只会运行src引入的外部js文件,不会运行script标签中的js代码
</script>
分析:es5中,只会运行src引入的外部js文件,不会运行script标签中js代码 console.log(123)
所以结果为: 888 而不打印 123
3.2 ES6这个版本中(后续学习ES6再回来看)
<script type="module">
import x from "./es6.test.js" //先打印456
console.log(666); //再打印666
</script>
结果分析:既打印了 es6.test.js 中的js代码 console.log(456),又打印了script标签中的js代码console.log(666),所以结果为 456 666
4.在控制台中
因为浏览器的控制台其实就是运行js代码的环境
5.script标签书写的位置推荐
标签位置:传统的做法,所有<script>元素都应该放在页面的<head>元素中;
但若在文档的<head>元素中包含所有JavaScript文件,意味着必须等到全部JavaScript代码都被下载、解析和执行完成以后,才能开始呈现页面的内容(浏览器在遇到<body>标签时才开始呈现内容)。
对于那些需要很多JavaScript代码的页面来说,这无疑会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口中将是一片空白。
所以为了避免这个问题:现代Web应用程序一般都把全部js文件引用放在<body>元素中页面内容的后面,或者放在对应的标签前后面