前言在项目开发中常常听到前端工程化,那么什么是前端工程化,其要义在于何处,我想是值得了解的问题。 它有哪些目的,解决了哪些问题,又以何种方式实现,这些都是值得探究、值得思考的。 一、三问: 什么是前端工程化? 前端工程化要解决哪些问题? 如何实现前...
package.json | npm Docs (npmjs.com) - name 模块名称该字段是一个字符串,表示模块名称属性。 1"name": "your-pkg-name" 如果你计划发布你的模块...
栈队列链表哈希表二叉树二叉搜索树平衡二叉树堆图排序算法冒泡排序 θ(n^2)实现逻辑 比较相邻的元素,如果第一个比第二个大,交换它们两个 对每一组相邻元素进行比较交换操作,从第一对到最后一对。结束后最大值在最后一位元素 重复以上步骤,除了最后一个元...
前言模块化是编程中绕不过去的一环,可以说在我们的开发流程中,每时每刻都在使用着模块化,这无疑是一个非常重要的知识点。本文只讨论 JS 模块化,旨在加强对 JS 模块化的认识。主要涉及以下几点: JS 模块化的前世今生(为什么要模块化) JS 模块化...
前言本文主要解释 JS 引擎在遇见 script 代码块时,从编译到执行具体经历了些什么? 一些关于作用域与闭包还有this关键字的问题可能被解答: 为什么会产生变量提升? 闭包的产生原理是什么? 多个 script 代码块间是以什么顺序来执行的?...
冒泡排序 θ(n^2)选择排序 θ(n^2)实现逻辑 比较相邻的元素,如果第一个比第二个大,交换它们两个 对每一组相邻元素进行比较交换操作,从第一对到最后一对。结束后最大值在最后一位元素 重复以上步骤,除了最后一个元素 持续以上步骤,知道没有任何...
重构(Refactoring)前言最近一直在做前端重构的工作,多少有些感想,特此记录。 首先,项目的历史太悠久了,AngularJS 的项目, 一、什么是重构?为什么要重构?重构要达成什么目标?什么是重构 在不改变代码外在行为的前提下,对代码进行修改...
在使用第三方库时,常用需求之一是在 DOM 元素创建时注册一个时间监听器或 DOM 元素删除时注销事件监听器,但我们难以知道具体 DOM 元素的创建时间、删除时间,所以一般的实现方式是使用轮询的方法,判断 DOM 元素是否存在,如果存在则继续逻辑,这...
原文转自:https://mirone.me/zh-hans/a-complete-guide-to-typescript-decorator/ 装饰器让 TypeScript 的世界更好。 我们使用的许多库都基于这一强大特性构建,例如 Ang...