- 博客(6)
- 收藏
- 关注
原创 浅谈lazyload、prefetch、preload
1.lazyload(懒加载)懒加载,也可以说成是按需加载,常见的有图片懒加载,前端的路由懒加载。1)图片的懒加载,原理主要通过判断img标签有没有进入视口来确定是否给予其正确的src属性从而来加载资源,这样做的好处主要是减少http请求,节省网络资源,提高在视口内的图片的加载速度。2)前端路由的懒加载,原理主要是在前端的项目构建打包阶段,把不同路由对应的组件分割成不同的代码块,然后当路由访问的时候才加载对应的组件,这样其实做的好处是按需加载和解析代码,提高首屏渲染速度。因为大家想一想,如果所有JS代
2021-03-14 14:32:08 855
原创 通过Object.prototype.toString() 来对JS的类型判断
最常用的类型判断就是typeof 和 instanceof最近发现还有一种进行类型判断的方法,就是利用Object.prototype.toString()方法,注意不是对象本身身上的toString()方法。const isType = (obj) => Object.prototype.toString.call(obj).match(/(?<=\s)\w+(?=\])/g)[0].toLowerCase();有个注意点,typeof和instanceof会把包装类型的字符串、数字、
2021-03-13 20:56:05 247
原创 JS如何判断某个对象是不是原生的,而不是polyfill的
比如说Promise对象,如何判断它是原生的。直接打印:console.log(Promise.toString());控制台的结果就会是这样:看到没有,里面有个native code,这就代表这个Promise对象是原生的了。
2021-03-13 20:22:04 452
原创 数组去重的几种实现方式
// 数组去重1.利用indexOf返回最先碰到的下标的特性const arr = [2, 4, 5, 2, 4, 7, 9, 1, 9, 500];function getUniqueArray(arr) { const result = arr.filter((v, i) => { return arr.indexOf(v) === i; }); return result;}console.log(getUniqueArray(arr));// 数组去重2.构造一
2021-03-12 16:45:17 181
原创 JS函数柯里化例子(手写代码)
function add() { var _args = Array.from(arguments); // 将函数参数保存起来 function _adder() { _args.push(...arguments); return _adder; } // 实现函数的功能 _adder.toString = function () { return _args.reduce((ac, cu) => { return ac + cu;
2021-03-06 09:50:48 840 1
原创 Vue 3.0 响应式原理精简版
<script> const arr = [-1, -2, -3, -4]; const toProxy = new WeakMap(); //存放的是 代理后的对象 const toRaw = new WeakMap(); //存放的是 代理前的对象 const trigger = function () { console.log('触发视图更新!'); } const isObject = function (target..
2021-03-02 21:57:46 120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人