随笔分类 - javascript
摘要:1. 创建一个文件夹webpack,并创建如图目录结构 2. 安装插件 npm init cnpm install webpack@4.20.2 --save-dev cnpm install webpack-dev-server@3.1.9 --save-dev cnpm install webp
阅读全文
摘要:将内存占用量保持在一个较小的值可以让页面性能更好。 优化内存占用的最佳手段就是保证在执行代码时只保存必要的数据。如果数据不再必要,那么把它设置为null ,从而释放其引用。这也可以叫作解除引用 。 这个建议最适合全局变量和全局对象的属性。局部变量在超出作用域后会被自动解除引用。 1. 通过const
阅读全文
摘要:变量或函数的上下文决定了它们可以访问哪些数据,以及它们的行为。 每个上下文都有一个关联的变量对象 (variable object),而这个上下文中定义的所有变量和函数都存在于这个对象上。 上下文中的代码在执行的时候,会创建变量对象的一个作用域链 (scope chain)。这个作用域链决定了各级上
阅读全文
摘要:ECMAScript变量可以包含两种不同类型的数据:原始值和引用值。原始值 (primitive value)就是最简单的数据,引用值 (reference value)则是由多个值构成的对象。 6种原始值:Undefined 、Null 、Boolean 、Number 、String 和Symb
阅读全文
摘要:1. 使用Set,但是任意两个对象对于Set来说都是不同的,两个NaN对于Set来说也是相等的,不可去重的。 const arr1 = [1, 2, 4, 6, 2, 5]; // 返回一个新的数组(去重后的数组) function arrayUnique(arr) { return [...new
阅读全文
摘要:如果要拷贝的对象里面没有object或者array这种复杂的类型属性,那么就使用浅拷贝。如果想完整复制一个对象,对象里有object或者array这种复杂的类型属性,且想要复制的对象和原对象互不影响,就使用深拷贝。 浅拷贝: JavaScript 中,数组有两个方法 concat 和 slice 是
阅读全文
摘要:首先浅拷贝和深拷贝只针对像 Object, Array 这样的复杂对象的。简单来说,浅拷贝只拷贝一层对象的属性,而深拷贝则递归拷贝了所有层级。 对象浅拷贝 浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地
阅读全文
摘要:参考网上资料,自己整理了一下思路 首先是一个最简化的MyPromise构造函数,参数是executor执行器函数。 接下来是,给这个构造函数增加then方法和catch方法。 打印结果是 最后一步是使构造函数可以链式调用。 function MyPromise(excutor) { console.
阅读全文

浙公网安备 33010602011771号