编程语言:JavaScript
There are a lot of ways to break up long tasks in JavaScript.
在处理网页长任务时,避免阻塞主线程是关键。通过将大任务拆分为多个小任务,可以提升用户体验。常见方法包括使用setTimeout()
递归、async/await
结合setTimeout
、scheduler.postTask()
和requestAnimationFrame()
等。scheduler.yield()
简洁高效,MessageChannel()
性能优异,而Web Workers则是最佳选择,彻底将任务移至后台。根据需求选择合适方法,确保页面流畅响应。
Console.trace:JavaScript调试的利器
console.trace() 是一种非常实用的调试工具,能够清晰地展示调用堆栈信息,帮助开发者快速追踪代码的执行路径和函数的调用链。在实际业务场景中,console.trace() 的使用主要集中于问题排查和调试工作中,以下是一些典型的实际业务使用场景,以及其在这些场景中的作用和用法。
由 esbuild JavaScript API 看跨语言调用
本文以 esbuild JavasScript API 为切入点,分析跨语言 API 的实现原理,从而更好地帮助读者理解打包工具。
Using ChatGPT to reverse engineer minified JavaScript
I was curious about how a component was implemented in a minified JavaScript file and used ChatGPT to reverse engineer the component.
JavaScript 模块化演进历程
回顾 JavaScript 的发展历程,从最初的简单浏览器脚本语言,到如今构建互联网应用程序的现代编程语言,模块化技术在这一演变中发挥了关键作用。本篇文章将从 JavaScript 的模块化探索及模块化规范的持续演进两部分,回顾 JavaScript 模块化的演进历程。
WEB前端逆向JS RPC简介
本文以三个示例从易到难地演示一种名为JS RPC的技术。
OTP Form Example Made with Tailwind CSS and JavaScript
An example of a simple OTP (One-Time Password) form made with Tailwind CSS and JavaScript.
Language Aware Nuxt.js Routing
Localize your Nuxt.js route paths.
一文读懂JavaScript原型链
什么是原型链,每个对象(Object)都有一个私有属性指向另一个名为原型(prototype)的对象。
OpenTelemetry for JavaScript Observability at Zalando
How Zalando improved observability for Node.js and web applications using OpenTelemetry.
JS程序设计的常用套路
亲尝百草,方知甘苦。套路,通常有助于提升代码的可读性、扩展性和效率。以下是作者工作中总结出来的一部分代码套路,分享给大家。
A comparison of JavaScript CRDTs
Y.js、Automerge和JSON Joy是三个CRDT库,可以帮助我们理解什么是CRDTs以及如何实现LWW注册表。根据Bartosz Sypytkowski的介绍,CRDTs是一种直观的数据结构,他的实际示例很有帮助。对于理解CRDTs,Jacky的笔记也很有用。总结来说,Y.js易于集成,Automerge具有冲突处理功能,而JSON Joy提供了自定义协议的可能性。根据作者的描述,这些库都很不错,但没有实现作者期望的高级API。
跨端轻量JavaScript引擎的实现与探索
探讨跨端轻量JS引擎的实现方式,深入浅出的研究如何设计和构建一种高效、灵活且可移植的JS引擎,使其能够在不同的平台上运行JS应用程序。通过本次分享,您将了解到实现跨端JS引擎的关键技术和挑战。
前端 JS 安全对抗原理与实践
前端代码都是公开的,需要使用一些加密和混淆的防护手段。
深度解读 JS 构造函数、原型、类与继承
本文介绍了JavaScript中构造函数和this关键字的使用,以及构造函数中return的影响。构造函数不需要使用return语句,this关键字会自动指向新创建的对象。然而,如果构造函数中使用了return语句,返回的是基本类型,则该返回值会被忽略;如果返回的是一个对象,则最终返回的新对象将是返回的对象,原本的this指向的对象会被抛弃。此外,通过new关键字创建对象时,应该使用规范的命名方式。
浏览器如何运行一段JavaScript代码
邀请大家一起从浏览器的角度来看一下一段JavaScript代码到底是如何执行的。