JavaScript

单页面(SPA)路由实现原理

什么是单页面应用 ? 单页面应用(SPA)即single page application,目前在前后端分离的项目中,一般都是采用 SPA 的模式,整个应用只有一个 html 页面。后端接口只负责提供数据,而页面路由则需要前端自己完成。单页面应用的优势:1. 减少 http 请求数,降低服务器压 …

编写一个 Babel 插件

Babel转译流程 Babel 对源码进行转译时,主要有三个步骤 首先通过Babylon 将源码转化成 AST 然后再通过babel-traverse遍历 AST,找到需要更改的 AST 节点,对其进行修改 根据修改后的 AST,通过babel-generator将修改后的 AST …

Babel 核心模块介绍

Babel 介绍 Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel 你可以使用(并创建)下一代的 JavaScript,以及下一代的 JavaScript 工具。 Babel 把用最新标准编写的 JavaScript 代码向下编译成可以在今天随处可用的版本。 这一过程叫 …

抽象语法树AST介绍

js编译执行的第一步是读取 js 文件中的字符流,然后通过词法分析生成token,之后再通过语法分析生成 AST(Abstract Syntax Tree),最后生成机器码执行。词法分析,也称之为扫描(scanner),简单来说就是调用 next() 方法,一个一个字母的来读取字符, …

JavaScript垃圾回收机制与内存泄漏

程序的运行需要分配内存,内存资源是有限的,当程序运行结束后,就应该回收其内存资源。JavaScript使用自动内存管理,也称为垃圾回收机制(garbage collector)。自动垃圾回收的优点是可以简化开发,不用时刻惦记着回收不再使用的变量,降低内存泄漏的可能性;缺点是无法完全的掌握内存的分配以 …

1 of 3