编程语言:JavaScript
JavaScript Debugger 原理揭秘
debugger 的实现原理是什么?ide 和 chrome devtools 如何实现调试功能的?本文带你深入探索 debugger 的奥秘。
纯Javascript实现平滑曲线生成
平滑曲线生成是一个很实用的技术。 很多时候,我们都需要通过绘制一些折线,然后让计算机平滑的连接起来,或者是生成一些平滑的面。
深入理解JS内存管理机制
在相当长一段时间里,JS运行时的内存问题都不被前端开发人员所关注。一方面,日常开发中基本不会遇上需要对内存精准控制的场景,另一方面,写JS不需要像写 C/C++ 那样在开发过程中随时关注内存的分配和释放问题。
随着生态的逐渐完善,JS的执行环境也不再局限于浏览器中。目前,JS主要的执行场景包括服务端(NodeJS、Deno)、桌面端(Electron)、浏览器(Chrome、Microsoft Edge)。
其中,JS执行引擎 V8 因其优异的性能表现,已经成为主流。因此,本文对JS内存管理模型的研究也将基于V8展开。
彻底搞懂 JavaScript 数据类型转换
本文主要介绍 JavaScript 数据类型转换。
Nest.js 实践总结
Nest.js 是一个现代的企业级 Node.js web 框架,在最近使用 Nest.js 实践一些项目的总结了一些使用心得。
JavaScript 断点调试技巧
这篇文章将介绍如何使用断点来进行 JavaScript 调试。在读这篇文章之前,需要问一个问题:为什么要使用断点来进行调试?
我们首先需要认可使用断点的是必要的,否则下文介绍的所有断点调试方法都会是废话。console.log 是前端开发最常用的调试手段,它简单直接解决一部分问题。但当遇到十分复杂的问题,console.log 就会变得不趁手。
Content-aware image resizing in JavaScript
JavaScript implementation of so-called Seam Carving algorithm for the content-aware image resizing and objects removal. Dynamic programming approach is applied to optimize the resizing time.
如何避免JS内存泄漏?
很多开发者可能平时并不关心自己维护的页面是否存在内存泄漏,原因可能是刚开始简单的页面内存泄漏的速度很缓慢,在造成严重卡顿之前可能就被用户刷新了,问题也就被隐藏了,但是随着页面越来越复杂,尤其当你的页面是 SAP 方式交互时,内存泄漏的隐患便越来越严重,直到突然有一天用户反馈说:“操作一会儿页面就卡住不动了,也不知道为什么,以前不这样的呀”。
这篇文章通过一些简单的例子介绍内存泄漏的调查方法、总结内存泄漏出现的原因和常见情况,并针对每种情况总结如何避免内存泄漏。
How We Cut GrabFood.com’s Page JavaScript Asset Sizes by 3x
Find out how the GrabFood team cut their bundle size by 3 times with these 7 webpack bundle optimisation strategies.
JS 对象遍历知多少?
本文主要是对 JS 对象(不含数组、Map、Set 结构)的 7个遍历方法进行总结归纳,写该文章的这天恰好是我最喜爱的球星艾弗森的 45 周岁生日,因此本文会以艾弗森的基本资料为模板生成一个 JS 对象并对其进行遍历 。
让 JS 摆脱框架的束缚
无论框架如何的迭代,我们 JS 是永远不会太大的变化的,所有框架都是基于 JS 去写的,如何让我们通用 JS 代码被不同的框架去应用,让我们的通用代码去框架化,是我们应该思考的问题。
Js是怎样运行起来的?
不知道大家有没有想过这样一个问题,我们所写的 JavaScript 代码是怎样被计算机认识并且执行的呢?这中间的过程具体是怎样的呢?
- 什么是 Js 引擎?
- Js 引擎是怎样编译执行和优化 Js 代码的?
Js 引擎有很多种,比如 Chrome 使用的 V8 引擎,Webkit 使用的是 JavaScriptCore,React Native 使用的是 Hermes。今天我们主要来分析一下比较主流的 V8 引擎是怎样运行 Js 的。
JavaScript 变量命名
计算机科学中只有两个难题:缓存失效和命名。
JavaScript 代码整洁之道-异常处理篇
在软件开发中,异常处理是高质量不可或缺的一部分,这样我们才能对程序中一些意外的情况和未实现的逻辑进行有效的控制。在这篇文章中,我们将提供一些与异常处理有关的建议,从而提高代码质量。
v8 执行 js 的过程
本文意在简单的介绍一下 V8 执行 JS 的过程,通过了解 V8 执行 JS 的过程,知道 JS 代码呈现在浏览器上到底做了什么。
JavaScript引擎深入剖析(一):JSValue 的内部实现
在我们 Hummer 跨端技术框架 的研发过程中,不可避免会对 JavaScript 引擎有所探索和研究。只有深入了解了 JavaScript 的工作原理,才能在跨端研发的诸多细节上避免踩坑,并且做出更好地调优工作。对于很多前端同学来说,JavaScript 引擎就像一个难以触及的黑盒,既熟悉又陌生,因为它被内置在了浏览器内核中。即使在平时开发过程中天天和 JavaScript 引擎打交道,但大多也只是知道 JavaScript 引擎可以解释执行 JavaScript 代码,对于其内部实现原理并不是特别了解。所以我们接下来会专门花几个专题,来深入剖析一下 JavaScript 引擎的世界,逐步揭开它的神秘面纱。这一期我们主要讲一下 JavaScript 引擎中的 “JSValue 的内部实现”。