百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

前端入门——在网页中使用JavaScript

yund56 2025-03-16 17:31 7 浏览

在JavaScript诞生之初Netscape 浏览器要解决一个重要的问题就是如何让JavaScript和html页面共存,经过尝试、争论最终决定为web增加统一的脚本支持,并被正式纳入HTML规范之中。

本篇主要介绍如何在html网页中使用<script> 标签元素引入脚本,关于<script>元素有以下属性:

  1. src:可选,表示引入的外部js文件。
  2. type:可选,表示编写代码的脚本语言内容类型(MIME类型)。目前此属性都使用text/javascript,这个属性值也是默认的值,如果不设置type属性就使用这个默认值。除此之外也可以使用 text/ecmascript或 application/javascript等,因为各浏览器兼容性问题,在此不建议使用。
  3. language:已废弃。早期用来表示脚本语言类型,比如(JavaScript、JavaScript1.2或VBScript),现已不再使用。
  4. charset:可选。表示通过src指定的代码的字符集。大多数浏览器会忽略这个属性,因此很少使用。
  5. defer:可选。表示脚本延迟到文档完全被解析和显示后再执行。只有在加载外部js文件时才可用。
  6. async:可选。表示应该立即下载脚本,但不阻碍页面其它部分的操作,比如下载其它资源或等待加载其它脚本。只有在加载外部js文件时才可用。

脚本使用方法

一般都会在元素中使用<script>标签,分别有内嵌式脚本和外部脚本两种用法,具体如下:

内嵌式:



<script type="text/javascript">
  function hello(){
	  alert('hello world!')
  }
  hello();
  </script>


如上面的代码,内嵌式就是将js代码写在<script>标签内,这里的type属性可以省略。

外部脚本:



<script type="text/javascript" src="hello.js"></script>


如上代码,外部脚本通过src属性引入,这里的src属性和img图片的src一样,它的值是一个URL,可以使相对路径,绝对路径,甚至是来自第三方域的地址。

外部脚本的优点就是,它可以把不同业务的代码放入到指定的外部js文件中,依次引入到页面,这样当页面的业务逻辑复杂时便于管理组织代码。如今,在各现代浏览器中已经部分支持原生的模块语法,意味着可以在js文件中直接引入其它js文件,关于模块化后期再单独介绍。

script标签的位置

默认情况下,浏览器会按照script标签在页面中出现的顺序从前到后依次进行解析。也就是说,后面的script要等前面的script解析完后再执行。所以有时就会因为脚本错误,导致页面无法继续往下执行,页面就会出现空白或显示部分,所以一般约定将script标签放在标签之前,这样即使脚本出错,也不会影响html的解析。

如下示例:





引入外面脚本文件

<script type="text/javascript" src="demo1.js"></script> <script type="text/javascript" src="demo2.js"></script>

把脚本放在最后,还有个好处就是使页面打开的速度变快,这是因为js脚本的解析是同步的,会阻塞后面的代码。

延迟脚本

使用defer属性延迟脚本,这个属性的用途是指在脚本执行时不会影响页面html或css的解析。直到整个页面解析完毕后再运行。因此,defer属性就是告诉浏览器立即下载js文件,但延迟执行它。

如下示例:



<script type="text/javascript" defer="defer" src="demo1.js"></script>
<script type="text/javascript" defer="defer" src="demo2.js"></script>


延迟引入外面脚本文件

在这个例子中,虽然脚本放在head元素中,但其包含的脚本会延迟到浏览器解析完整个页面后才执行。这里要注意,html5 规范中要求脚本按照先后顺序执行,理论上第一个延迟脚本会先于第二个,但是实际情况并不是这样的,因此一般页面中尽量只有一个延迟脚本。关于延迟脚本,后面会继续详细介绍。

前面说过,defer属性只对外部脚本起作用,内嵌式不支持,除非早期的ie浏览器才支持,在这里不再具体探讨,毕竟是过时的东西,没必要学习。

异步脚本

和延迟脚本一样,使用async可以改变处理脚本的行为。异步脚本只适用于外部js文件,它表示告诉浏览器立即下载文件,和defer不同之处就是异步脚本不保证会按照先后顺序执行脚本。

如下示例:



<script type="text/javascript" async src="demo1.js"></script>
<script type="text/javascript" async src="demo2.js"></script>


异步加载脚本文件

上面代码中,第二脚本可能会在第一个脚本文件之前执行。因此保证它们相互之间不依赖非常重要。

建议异步脚本不要在加载中修改DOM,在xhtml文档中使用async=“async”才起作用。

早期浏览器面临一个特殊的情况,就是当浏览器不支持JavaScript时如何让页面平稳的显示。因此为了解决这个问题创造了一个

当浏览器禁用JavaScript时,也可以使用这个标签,如下示例:



<script type="text/javascript" async src="demo1.js"></script>
<script type="text/javascript" async src="demo2.js"></script>



 

在不支持或禁用JavaScript的浏览器页面中就会看到上面这段文字。

总结

在html页面中使用<script>标签可以使用嵌入式或外部js文件,这里我们要注意几点:

  • 在包含外部脚本文件时,必须将src属性设置为指向相应的文件URL。这个文件可以是同一个服务器上的或其它域中的文件。
  • 所有<script>元素都会按照在页面中出现的先后顺序被依次解析。在不适应延迟或异步属性时,只有在所有<script>标签代码解析完后,才继续后面的代码。
  • 将<script>元素放在页面最后,即body结束标签之前。
  • 使用defer属性延迟脚本在页面完全呈现之后再执行。延迟脚本一般会按照顺序执行。
  • 使用async异步加载脚本,表示脚本不必等待其它脚本,也不会阻塞文档呈现。但异步脚本不能保证按照先后顺序执行。

本文主要介绍了,JavaScript的基本使用方法,详细介绍了<script>元素的语法,后面我们将正式开始JavaScript学习,JavaScript的语法是一个类似c语言或其它高级语言(如java、perl等),如果你有其它语言的基础,学习起来非常容易。

感谢您的关注,欢迎指正。

相关推荐

开发者工具及Windows 10 SDK开放下载

2015-07-3009:45:23作者:李熙微软在昨天开始正式推送Windows10,参与WindowsInsider项目的开发者们已经体验到最新版Win10。而现在,Windows10...

系统安装 :微软官方!最纯净WIN11安装U盘制作教程!

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:纯粹的测评小F★前言★大家好,我是纯粹的评测小F。今天给大家准备了【微软官方最纯净WIN1122H2系统U盘】教程,方便给大家做个参...

[Windows] 无损音乐下载器1.0(下载无损音乐播放器)

全免费的无损音乐下载器,音乐爱好者的利器。直接搜索关键字就可以下载。可能随时会被河蟹声明:软件都是来源于网络,有时效性,请及时下载安装,功能自测,侵权联系删除!...

一个Python编写的小说下载器(python小说自动生成器)

先看看效果昨天我们已经能够爬任意一本小说,今天我们用一个新的库--tkinter库做一个简单的图形界面,实现类似小说下载器那样的简单功能。先说一下tkinter库:Tkinter是Python的...

教你如何下载微软官方原版操作系统windows11

有些人害怕其他渠道下载的操作系统不纯净、被加料,想下载微软官方原版操作系统windows11,又不知道微软官方下载地址在哪里,其实很简单在必应搜索引擎就能够找到微软的官方网站下载地址,不过直接下载可能...

NAS下载不好用?群晖虚拟机安装Windows,打造下载机+远程管理!

开篇碎碎念相信不少小伙伴家中都有NAS,我手中就有一台蜗牛星际组装的NAS,用来做资料的存储和备份~因为我有喜欢下载资料的习惯,虽然群晖NAS有不少优秀的下载套件,但是有一些用起来不太习惯,比如迅雷和...

只需要简单几步,普通电脑也可以安装iTunes,尤其是Windows系统

随着苹果电脑、手机的出现,人们习惯了使用苹果系统,但却对Windows系列电脑的使用方法缺乏了解,以iTunes为例,很多用户以为只有苹果电脑或手机可以安装该软件,但实际上并不是这样,本期文章教各位...

多尺寸官方版Surface Pro、Laptop 5 Windows 11壁纸免费下载

SurfacePro9和SurfaceLaptop5不久前正式公布,在它们发布的同时,作为配套,微软在其MicrosoftStore免费上线了专门为它们设计的新壁纸。这些壁纸仍然带有Wind...

让Win10体验经典:Win7系统内置小游戏安装包下载

IT之家讯在Win10正式版中,各种经典小游戏都以Windows应用的形式回归了,《纸牌》系列更是被默认内置在系统中。不过仍然有用户怀念Win7时代的Win32版小游戏,其中《扫雷》、《纸牌》、《空...

Win10学院:UEFI模式安装Win10系统图文教程

IT之家(www.ithome.com):Win10学院:UEFI模式安装Win10系统图文教程如果您的新电脑使用的是UEFI而不是传统的BIOS,那么您的电脑会有更快的启动速度。UEFI被设计成能够...

7个PC端精品软件下载网站,授人予渔

相信大家在电脑端下载软件的时候,如果是在百度直接搜索,下载的软件会有很多捆绑软件,搞不好的还会有病毒。一些不懂的同学,一直这样操作就会让电脑很卡顿,今天给大家分享11个精品软件下载网站,每一个网站都有...

windows11官网正版下载流程(win11官网怎么下载)

windows11出来有一段时间了,最近刚好需要重做系统。那就试试新的win11吧。因为不喜欢各种第三方提供的下载,主要怕不安全。于是就从微软官网下载,现在把下载流程记录如下,方便需要的小伙伴。首先...

Windows上也能用Swift编程了,官方编译安装包已上线

萧箫发自凹非寺量子位报道|公众号QbitAI最近,Swift发行了5.3版本,这意味着它可以直接在Windows10上使用了。由于Swift是苹果开发的一门编程语言,能在Ubuntu、L...

没等到Windows 11 Moment 2更新?可直接下载更新包升级

Windows11KB5022913正在作为运行22H2的PC上的可选更新推出。它是备受期待的"Moment2"版本,具有许多新功能,如平板电脑优化的任务栏。如果操作系统没有提示升级,微软还公布...

三款高质量的Windows必备软件,良心高效,总有一款你用得到

DropltDroplt,是一款可以自动整理文档的软件神器。相信很多人,都有这样的习惯:闲来无事,喜欢将各种文件保存到桌面,时间一长,桌面图标就变得凌乱不堪,以致于在整理的时候,各种烦闷的情绪,涌上心...