如何在HTML中使用JavaScript

本文介绍了HTML中使用<script>元素加载JavaScript的方法,包括async和defer属性的作用及使用场景,探讨了如何通过合理安排<script>标签的位置以及选择使用外部文件来提高网页加载效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用script元素
<script>
    //JavaScript代码
</script>

HTML 4.01为<script>定义了6个属性

  • async(可选)
    表示应该立即下载脚本,但不妨碍页面中的其他操作,比如下载其他资源或待加载其他脚本。只对外部脚本文件有效
//异步脚本
<script type="text/javascript" defer="defer" src="first.js"></script>
<script type="text/javascript" defer="defer" src="second.js"></script>
//指定async属性的目的是不让页面等待这两个脚本下载和执行,从而异步加载页面其他内容。
//但是不保证它们的先后顺序,也就是第二个脚本可能在第一个脚本之前执行。
  • charset(可选,很少用)
    指定代码的字符值,大多数浏览器会将其忽略,很少用

  • defer(可选)
    表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部文件有效。

//延迟脚本
<script type="text/javascript" defer="defer" src="first.js"></script>
<script type="text/javascript" defer="defer" src="second.js"></script>
//添加defer属性之后,直到遇到</html>才会执行,也就是最后最后执行就是它了
  • language(已废弃)
    用于表示编写代码使用的编程语言,已废弃

  • src(可选)
    表示包含要执行代码的外部文件

<script type="text/javascript" src="first.js"></script>
//外部文件first.js将被加载到当前页面中
//注意注意呀,此时在<script></script>之间不再包含额外的JavaScript代码,因为这些额外的代码将会被忽略,不执行!!!
<script type="javascript" src="www.somewhere.com/file.ja"></script>
//也就是说src还可以包含来自外部域的.js文件,而不仅仅是自己编写的。功能更加强大。
//注意注意呀,外部域的.js文件可能不可控,所以要么你是它的所有者、要么他的所有者值得信赖、要么就不要使用!!!
  • type(可选)
    可以看成是language的替代品,常用的是type=text/javascript,不必需

    包含在<script></script>将从上至下依次解释。在解释<script>元素内部的所有代码求值完毕之前,页面中其他内容不会被加载和显示。


2.标签的位置
  • 传统做法
    所有的<script>都放在<head>中,目的是把所有外部文件.css和.js都放在相同的地方。
    但是这就会造成在所有JavaScript代码被下载解释完成之前,在<body>里的页面内容将不会呈现。妈呀,万一JavaScript代码很多,那会怎样!!!那会一眼看上去浏览器窗口一片空白,这是什么啊

  • 最佳做法
    把全部的JavaScript引用放在<body>元素内容的后面

<!DOCTYPE html>
<html>
    <head>
        <title> 位置很重要</title>
    </head>
    <body>
        <!--放置页面内容-->
        <script type="text/javascript" src="first.js"></script>
        <script type="text/javascript" src="second.js"></script>
    </body>
</html>

3.嵌入代码或外部文件的选择

在html中嵌入JavaScript当然没有问题。但是最好的做法是尽可能使用外部文件来包含JavaScript代码。具有一下优点:

  • 可维护性
    将.js文件放在一个文件夹里面维护起来方便多了,无需触及HTML标记

  • 可缓存
    如果有两个页面都是用同一个.js文件,那么只下载一次,加快页面加载速度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值