摘要: 6个基本类型:boolean, string, number, undefined, null, symbol 判断基本类型:typeof 判断对象类型: instanceof (因为对象的 typeof 都是 'object') instanceof原理: mm.__proto__.constru 阅读全文
posted @ 2019-11-03 11:09 朵拉.科波菲尔 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 前端路由的两种方式:Hash和History Hash 模式是使用 URL 的 Hash 来模拟一个完整的 URL,因此当 URL 改变的时候页面并不会重载。History 模式则会直接改变 URL,所以在路由跳转的时候会丢失一些地址信息,在刷新或直接访问路由地址的时候会匹配不到静态资源。因此需要在 阅读全文
posted @ 2019-11-03 10:54 朵拉.科波菲尔 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1. JSON.parse(JSON.stringify(person))。 缺点:当值为undefined、function、symbol 会在转换过程中被忽略 2.手动写deepCone 阅读全文
posted @ 2019-11-03 10:13 朵拉.科波菲尔 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 原则:减少重复渲染和新对象的生成 方法在构造器里bind 同级的列表组件加key 属性传递中传递尽量少的属性 shouldComponentUpdate 和 pureComponent (浅比较,因为递归对比复杂度太高,影响性能) immutable.js:不可变数据结构,节省内存,降低可变带来的复 阅读全文
posted @ 2019-11-02 23:20 朵拉.科波菲尔 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 简要总结: 1.资源压缩合并,减少http请求 2.非核心代码异步加载(异步加载方式,异步加载区别) 异步加载到方式 动态脚本加载 defer async 动态脚本加载 defer async 异步加载的区别 defer是在HTML解析完之后执行,如果有多个,按照加载的顺序依次执行 async是在加 阅读全文
posted @ 2019-11-02 09:56 朵拉.科波菲尔 阅读(148) 评论(0) 推荐(0) 编辑
摘要: for...in还是for...of语句都是迭代一些东西。它们之间的主要区别在于它们的迭代方式。 for...in 语句以任意顺序迭代对象的可枚举属性。 for...of 语句遍历可迭代对象定义要迭代的数据。 每个对象将继承objCustom属性,并且作为Array的每个对象将继承arrCustom 阅读全文
posted @ 2019-10-30 22:25 朵拉.科波菲尔 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 定时器启动时候,第三个以后的参数是作为第一个func()的参数传进去。 阅读全文
posted @ 2019-10-30 22:07 朵拉.科波菲尔 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 创建对象的几种方式: var o1 = {a:1};var o2 = new Object({a: 1});var o3 = Object.create({a:1});var o4 = new Func('aa'); Object.create创建对象原理: 使用现有的对象来提供新创建的对象的__p 阅读全文
posted @ 2019-10-30 08:27 朵拉.科波菲尔 阅读(254) 评论(0) 推荐(0) 编辑
摘要: ES5写法: Array.prototype.push.apply(arr1, arr2); // console.log(arr1) E66写法: arr1.push(...arr2); //console.log(arr1) 阅读全文
posted @ 2019-10-30 08:18 朵拉.科波菲尔 阅读(118) 评论(0) 推荐(0) 编辑
摘要: var str = "abcd-abcd-1234"; var result = str.replace(/([a-z]*)-([a-z]*)/gi, function(match,p1,p2,offset,str){ console.log(match); //abcd-abcd 匹配的内容 co 阅读全文
posted @ 2019-10-29 10:11 朵拉.科波菲尔 阅读(375) 评论(0) 推荐(0) 编辑