页面中js执行顺序

yizhihongxing

下面是页面中js执行顺序的完整攻略。

执行顺序

在页面中,JavaScript脚本可以通过多种方式嵌入到HTML文档中,如内联脚本、外部脚本和动态添加脚本等。JavaScript脚本的执行顺序有以下规则:

  1. 按照文档内的顺序解析脚本,在HTML文档中与JavaScript相关的所有元素按照它们在文档中的顺序来解析。因此,文档中后面出现的脚本无法使用文档前面定义的变量和函数。

  2. 按照异步加载的顺序执行脚本,当使用<script>标签引入外部脚本时,可以通过将asyncdefer属性设置为true来控制脚本的执行时间。async表示页面加载的同时异步加载脚本,而脚本的响应速度通常比页面快,所以脚本的执行顺序是不确定的;defer则表示该脚本将在页面解析完毕后执行,多个延迟执行的脚本会按照它们在文档顺序上的先后顺序依次执行。

  3. 在执行脚本时必须先加载执行所需的外部脚本、文件和图片等资源,否则浏览器会挂起执行,等待资源加载完成后再执行。

示例说明

下面举两个例子,来说明JavaScript脚本的执行顺序。

示例1

HTML代码:

<!DOCTYPE html>
<html>
<head>
  <script src="a.js"></script>
</head>
<body>
  <h1>Hello World!</h1>
  <script src="b.js"></script>
</body>
</html>

其中a.js内容如下:

console.log("a.js loaded");

b.js内容如下:

console.log("b.js loaded");

当浏览器解析这个页面时,先加载a.js,输出"a.js loaded",然后才是b.js,输出"b.js loaded"。

因此,这个例子说明了文档内的顺序和先后顺序两个规则。

示例2

HTML代码:

<!DOCTYPE html>
<html>
<head>
  <script src="a.js" defer></script>
  <script src="b.js" defer></script>
</head>
<body>
  <h1>Hello World!</h1>
  <script src="c.js"></script>
</body>
</html>

其中a.js和b.js的内容如下:

console.log("a.js loaded");
console.log("b.js loaded");

c.js的内容如下:

console.log("c.js loaded");

当浏览器解析这个页面时,先加载并解析a.js和b.js,但是它们不会立即执行,而是等待文档解析完成后,在文档元素按照顺序执行完毕后,按照它们在文档顺序上的先后顺序依次执行。所以在本例中,c.js会先于a.js和b.js执行,输出"c.js loaded",然后才是a.js和b.js,分别输出"a.js loaded"和"b.js loaded"。

因此,这个例子说明了延迟加载和异步加载两个规则。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:页面中js执行顺序 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JS实现继承的几种常用方式示例

    下面是详细的“JS实现继承的几种常用方式示例”的完整攻略。 什么是继承 继承是一种代码复用的技术,它使得子类获得父类的属性和方法。在 JavaScript 中,实现继承有多种方式,本文将介绍几种常用的方式。 实现继承的几种常用方式 原型链继承 原型链继承是通过设置子类的原型对象指向父类的实例对象实现的。这样就可以使子类继承父类的属性和方法。当在子类实例中查找…

    JavaScript 2023年5月28日
    00
  • js 页面元素的几个用法总结

    下面是“js 页面元素的几个用法总结”的完整攻略。 标题 一、获取元素 在 JS 中,我们可以通过 document 对象的相应方法获取元素。其中 querySelector 和 getElementById 最为常用。 // 通过 ID 获取元素 let element = document.getElementById(‘elementId’); // …

    JavaScript 2023年5月28日
    00
  • JavaScript实现复选框全选功能

    JavaScript实现复选框全选功能的方法有很多,其中一种常用的方法是使用jQuery库的实现方式。下面我来详细讲解一下该方法的步骤。 步骤 1. 引入jQuery库文件 在HTML代码的头部引入jQuery库文件,例如: <script src="https://code.jquery.com/jquery-3.6.0.min.js&qu…

    JavaScript 2023年6月11日
    00
  • 最简单的JavaScript图片轮播代码(两种方法)

    下面是“最简单的JavaScript图片轮播代码(两种方法)”的完整攻略。 什么是JavaScript图片轮播? JavaScript图片轮播是网站开发中常见的一种功能,可以展示一组图片,通过自动或手动切换图片来实现轮播效果,增强网站的视觉效果和用户体验。 JavaScript图片轮播的实现方法 在本文中,我们将介绍两种方法来实现最简单的JavaScript…

    JavaScript 2023年6月11日
    00
  • 一些超实用的JS常用算法详解(推荐!)

    一些超实用的JS常用算法详解(推荐!) 算法简介 这篇文章主要介绍一些常用的 JavaScript 算法,包括排序算法、查找算法和字符串算法等。它们被广泛应用在各种前端开发场景中,可以帮助我们快速解决问题,提升开发效率。 排序算法 排序算法主要用于对数据进行排序,常用的排序算法有冒泡排序、快速排序和归并排序等。 冒泡排序 冒泡排序是一种比较简单的排序算法,它…

    JavaScript 2023年5月18日
    00
  • JQUERY操作JSON实例代码

    下面是关于“JQUERY操作JSON实例代码”的完整攻略。 什么是JSON JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,在前端开发中经常用来进行数据传输和交换。JSON格式的数据由于具有轻巧、易读、易解析的优点,被越来越广泛地用于Web前端的数据交互和传输。 JSON的语法 JSON数据用于数据交换,它是一…

    JavaScript 2023年5月27日
    00
  • javascript显示中文日期的方法

    对于JavaScript来显示中文日期,可以按照以下步骤进行操作: 步骤 创建一个Date对象并获取当前日期: let date = new Date(); 调用Date对象的对应方法去获取年、月、日等信息: let year = date.getFullYear(); // 获取当前年份 let month = date.getMonth() + 1; /…

    JavaScript 2023年5月27日
    00
  • Javascript 面向对象(一)(共有方法,私有方法,特权方法)

    下面是针对”Javascript 面向对象(一)(共有方法,私有方法,特权方法)”的详细讲解: 什么是面向对象编程? 面向对象编程是一种编程思想,它将数据和操作数据的行为封装在一起,形成一种对象。在面向对象编程中,对象都有自己的状态和行为,对象之间通过调用彼此的方法来进行协作完成任务。 在Javascript中,可以使用对象字面量或者构造函数创建对象。对象字…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部