自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除