11 2019 档案
摘要:为什么通常在发送数据埋点请求的时候使用的是 1x1 像素的透明 gif 图片? 能够完成整个 HTTP 请求+响应(尽管不需要响应内容) 触发 GET 请求之后不需要获取和处理数据、服务器也不需要发送数据 跨域友好 执行过程无阻塞 相比 XMLHttpRequest 对象发送 GET 请求,性能上更
阅读全文
摘要:1.函数体内的this对象就是定义时所在的对象,而不是使用时所在的对象。this指向的固定化并不是因为箭头函数内部有绑定的this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。正式因为它没有this,所以不能用作构造函数。2.不可以当做构造函数,也就是
阅读全文
摘要:call和apply都是对函数的直接调用,而bind方法返回的仍然是一个函数 call的实现原理:在方法调用模式下,this 总是指向调用它所在方法的对象,this 的指向与所在方法的调用位置有关,而与方法的声明位置无关(箭头函数特殊) 利用 this 的机制来实现 call apply的实现: b
阅读全文
摘要:原理:将 Generator 函数和自动执行器,包装在一个函数里。 与其他异步方式比较:Async 函数的实现最简洁,最符合语义,几乎没有语义不相关的代码。它将 Generator 写法中的自动执行器,改在语言层面提供,不暴露给用户,因此代码量最少。如果使用 Generator 写法,自动执行器需要
阅读全文
摘要:6个基本类型:boolean, string, number, undefined, null, symbol 判断基本类型:typeof 判断对象类型: instanceof (因为对象的 typeof 都是 'object') instanceof原理: mm.__proto__.constru
阅读全文
摘要:前端路由的两种方式:Hash和History Hash 模式是使用 URL 的 Hash 来模拟一个完整的 URL,因此当 URL 改变的时候页面并不会重载。History 模式则会直接改变 URL,所以在路由跳转的时候会丢失一些地址信息,在刷新或直接访问路由地址的时候会匹配不到静态资源。因此需要在
阅读全文
摘要:1. JSON.parse(JSON.stringify(person))。 缺点:当值为undefined、function、symbol 会在转换过程中被忽略 2.手动写deepCone
阅读全文
摘要:原则:减少重复渲染和新对象的生成 方法在构造器里bind 同级的列表组件加key 属性传递中传递尽量少的属性 shouldComponentUpdate 和 pureComponent (浅比较,因为递归对比复杂度太高,影响性能) immutable.js:不可变数据结构,节省内存,降低可变带来的复
阅读全文
摘要:简要总结: 1.资源压缩合并,减少http请求 2.非核心代码异步加载(异步加载方式,异步加载区别) 异步加载到方式 动态脚本加载 defer async 动态脚本加载 defer async 异步加载的区别 defer是在HTML解析完之后执行,如果有多个,按照加载的顺序依次执行 async是在加
阅读全文

浙公网安备 33010602011771号