带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(1)

简介: 带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(1)

三十二、Performance API: 提升网页性能的利器

引言

在现代 Web 开发中,性能优化是一个关键的方面。用户期望快速加载的网页,而慢速的加载和响应时间可能导致用户流失和不良的用户体验。为了满足用户的需求,我们需要准确地测量和分析网页的性能,并采取相应的优化措施。

 

Performance API 是浏览器提供的一组接口,可以让开发者测量和监控网页的性能表现。它提供了丰富的属性和方法,可以帮助我们了解网页加载的时间、资源的使用情况、代码执行的性能等关键指标。本文将详细介绍 Performance API 的属性和 API,探讨其应用场景,并提供相关的代码示例和引用资料链接。

1. Performance API 简介

Performance API 是 Web API 的一部分,旨在提供与浏览器性能相关的信息和指标。它通过提供一组属性和方法,使开发者能够测量和分析网页的性能,以便进行性能优化。

 

Performance API 的核心对象是 performance,它代表了网页的性能信息。通过 performance 对象,我们可以访问各种性能指标、测量和记录时间戳、计算代码执行时间等。

 

以下是一些常用的 Performance API 属性:

  • navigation:提供了与导航相关的性能指标,如页面加载时间、重定向次数、响应时间等。
  • timing:提供了与页面加载和资源加载相关的性能指标,如 DNS 查询时间、TCP 连接时间、DOM 解析时间等。
  • memory:提供了与内存使用情况相关的性能指标,如内存限制、已使用内存、垃圾回收次数等。
  • navigationTiming:提供了更详细的页面加载时间指标,如重定向时间、解析 DOM 树时间、首次渲染时间等。

Performance API 还提供了一些方法,用于测量和记录时间戳、添加标记、计算代码执行时间等。

2. Performance API 属性和 API

1) navigation

performance.navigation 属性提供了与导航相关的性能指标,可以帮助我们了解页面的加载时间、重定向次数、响应时间等。

 

以下是一些常用的 navigation 属性:

  • performance.navigation.type:表示导航类型,如新页面加载、页面刷新、页面后退等。
  • performance.navigation.redirectCount:表示页面重定向的次数。

这些 navigation 属性可以用于分析页面的导航行为和性能表现。

 

示例代码:

 

console.log(`导航类型: ${performance.navigation.type}`);
console.log(`重定向次数: ${performance.navigation.redirectCount}`);

 

2) timing

performance.timing 属性提供了与页面加载和资源加载相关的性能指标,可以帮助我们了解页面加载的各个阶段所花费的时间。

 

以下是一些常用的 timing 属性:

  • performance.timing.navigationStart:表示页面开始导航的时间。
  • performance.timing.fetchStart:表示开始获取页面资源的时间。
  • performance.timing.domContentLoadedEventStart:表示 DOMContentLoaded 事件开始的时间。
  • performance.timing.loadEventStart:表示 load 事件开始的时间。

这些 timing 属性可以用于分析页面的加载性能,找出加载过程中的瓶颈。

 

示例代码:

 

console.log(`导航开始时间: ${performance.timing.navigationStart}`);
console.log(`资源获取开始时间: ${performance.timing.fetchStart}`);
console.log(`DOMContentLoaded 事件开始时间: ${performance.timing.domContentLoadedEventStart}`);
console.log(`load 事件开始时间: ${performance.timing.loadEventStart}`);


带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(2)https://developer.aliyun.com/article/1349481?groupCode=tech_library

相关文章
|
1月前
|
JavaScript 前端开发 API
常用JavaScript 数组 API大全
常用JavaScript 数组 API大全
32 0
|
1月前
|
API
egg.js 24.2写第一个api接口
egg.js 24.2写第一个api接口
71 0
|
1月前
|
数据采集 监控 安全
各种业务场景调用API代理的API接口教程
API代理的API接口在各种业务场景中具有广泛的应用,本文将介绍哪些业务场景可以使用API代理的API接口,并提供详细的调用教程和代码演示,同时,我们还将讨论在不同场景下使用API代理的API接口所带来的好处。
|
2月前
|
JavaScript 前端开发 网络协议
​Node.js 教程(一) 基本概念与基本使用
​Node.js 教程(一) 基本概念与基本使用
|
1月前
|
JavaScript 前端开发 索引
JavaScript字符串检查:从基础到高级
【2月更文挑战第26天】
26 0
JavaScript字符串检查:从基础到高级
|
2月前
|
Web App开发 JavaScript NoSQL
深入浅出:构建基于Node.js的RESTful API
在当今快速发展的互联网时代,RESTful API已成为前后端分离架构中不可或缺的一部分。本文旨在为初学者和中级开发人员提供一个清晰、简洁的指南,详细介绍如何使用Node.js构建一个高效、可维护的RESTful API。通过结合实际案例,本文将从API设计理念出发,深入讲解如何利用Express框架及MongoDB数据库实现API的增删改查功能,同时探讨如何通过JWT进行安全认证,确保数据传输的安全性。此外,文章还将简要介绍如何使用Swagger生成API文档,使得API的测试和维护更加便捷。无论你是希望提升现有项目的API设计,还是想从零开始构建一个新项目,本文都将为你提供一条清晰的道路
|
3天前
|
缓存 JavaScript 前端开发
Vue.js 路由时用于提高应用程序性能
Vue.js 路由时用于提高应用程序性能
|
8天前
|
算法
Swiper库和Glide.js库的性能有何区别
Swiper和Glide.js是两个流行的响应式轮播图库。Swiper功能强大且灵活,支持多方向滑动,拥有丰富的配置和切换效果,适合复杂需求,其高性能得益于优化的算法和惰性加载。Glide.js则轻量级、快速,专注于基础功能,适合简洁需求。两者各有侧重,选择应基于项目具体需求和性能考虑。
|
10天前
|
机器学习/深度学习 API TensorFlow
TensorFlow的高级API:tf.keras深度解析
【4月更文挑战第17天】本文深入解析了TensorFlow的高级API `tf.keras`,包括顺序模型和函数式API的模型构建,以及模型编译、训练、评估和预测的步骤。`tf.keras`结合了Keras的易用性和TensorFlow的性能,支持回调函数、模型保存与加载等高级特性,助力提升深度学习开发效率。
|
25天前
|
API 开发者
网页邮箱API发送邮件的方法?
网页邮箱API让开发者能通过编程发送邮件,无需直接访问网页界面。步骤包括:选择如Gmail或Outlook的API,配置API获取访问权限,编写代码指定收件人、主题和内容,然后调用API发送。发送后,检查API返回结果以确认成功与否,实现自动化邮件处理。