15k 13 分钟

# babel # 1 执行编译的命令 在 package.json 文件中添加执行 babel 的命令 (在 scripts 中添加:"build":"babel src -d dist") babel src --out-dir dist* # 2.Babel 的配置文件 安装配置文件 npm install @babel/preset-env@7.11.0--save-dev 创建配置文件.babelrc,...
7.8k 7 分钟

# 浏览器渲染原理 过程包含 渲染进程 (主线程、合成线程、线程池)、 预解析进程 和 网络进程 # 解析 HTML 浏览器会开辟渲染进程、预解析进程和网络线程,预解析进程快速扫描并交给网络线程加载 js 和 css 文件,渲染进程会解析 HTML 字符串,解析成 DOM 树和 CSSOM 树这种容易操作的对象,也给 JS 提供了操作这两颗树的能力(document.body 和 document.styleSheets)。预解析进程加载和执行 JS 代码时,渲染进程会被阻塞,因为 JS 代码可能会操作 DOM 树和 CSSOM 树 解析 HTML 的结果是得到 DOM 树和 CSSOM...
1.4k 1 分钟

# diff 代码块 const unique = (arr)=>{- return Array.from(new Set(arr))+ return [...new Set(arr)];}# 待办 (ctrl+shift+x) [ ] # 折叠 <details> <summary>展开查看规范</summary> 这是展开后的内容1 </details> <details> <summary...
903 1 分钟

# ArrayBuffer: ArrayBuffer 是 JavaScript 中用于表示通用的固定长度的二进制数据缓冲区的对象。它可以在内存中分配一块连续的内存空间,用于存储二进制数据。 ArrayBuffer 对象本身只是一个占用了一定字节数的内存块,它没有提供直接的方法来读取或写入数据。为了操作 ArrayBuffer 中的数据,我们需要使用不同的视图(如 TypedArray 或 DataView)来读取、写入和操作底层的二进制数据。 在内存中,ArrayBuffer 对象以连续的字节序列表示。这意味着存储在 ArrayBuffer...
221 1 分钟

vue3 中通过位运算进行类型判断 性能提高,可读性减小: 快速判断:位运算是底层的二进制操作,比起其他逻辑运算符,如逻辑与 &&、逻辑或 ||,位运算更加高效。在某些场景下,使用位运算可以对多个类型进行快速判断,避免了复杂的条件判断和函数调用。 位运算的特性:位运算的特性使得它可以用较少的存储空间表示和处理多个状态或标志位。通过将多个类型的判断压缩到一个整数中,可以节省内存空间,并且减少了不必要的变量声明和赋值操作,从而提升了性能。
134k 2:02

# HTML # 网络请求 # css # BFC 解决 margin 塌陷问题 BFC: 块级格式化上下文,可以解决默认的块级元素排列导致高度塌陷的问题,触发 BFC 的方式有: float 除 none 以外的值 position absolute 和 position fixed display 为 inline-block、table-cells 和 flex overflow 除了 visible 以外的值 (hidden、auto、scroll) # cookie ​ # restful # http # webpack # vue2 v-show 和...
20k 18 分钟

# ECMAScript 6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 # let 和 const 命名 # let 基本用法 - 块级作用域 在 es6 中可以使用 let 声明变量,用法类似于 var ⚠️ let 声明的变量,只在 let 命令所在的代码块内有效 { let a = 10; var b = 20;}console.log(a); //a is...
31k 28 分钟

# JavaScript 进阶 - 第 1 天 学习作用域、变量提升、闭包等语言特征,加深对 JavaScript 的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。 理解作用域对程序执行的影响 能够分析程序执行的作用域范围 理解闭包本质,利用闭包创建隔离作用域 了解什么变量提升及函数提升 掌握箭头函数、解析剩余参数等简洁语法 # 作用域 了解作用域对程序执行的影响及作用域链的查找机制,使用闭包函数创建隔离作用域避免全局变量污染。 作用域(scope)规定了变量能够被访问的 “范围”,离开了这个 “范围” 变量便不能被访问,作用域分为全局作用域和局部作用域。 #...
772 1 分钟

手动实现一个类似 forEach 的效果: 前端开发过程中经常会遇到使用 forEach 的场景,那么它的原理究竟是什么呢?下面我手动写了一个类似的效果,不同的是函数可能会改变原始值. 代码如下: function myEach(obj,fn,context=window){ // 类型判断 if(typeof obj !== 'object'){ throw ('必须要是对象') } if(obj === null){ throw ('必要不为空对象')...