- 博客(6)
- 收藏
- 关注
原创 JS深拷贝实现(记录)
JS深拷贝实现 function deepClone(obj) { if(obj === null) return null; if(obj instanceof RegExp) return new RegExp(obj); if(obj instanceof Date) return new Date(obj); if(typeof obj !== 'object') { return obj; } let t = new obj.co
2020-07-28 11:03:06
91
原创 前端性能优化
前端优化的途径有很多,按粒度大致可以分为两类, 第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ; 第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。 一、页面级优化 1.减少http请求数 一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、...
2019-11-27 17:11:34
245
原创 Vue祖先组件向子孙组件通信(provide / inject)
Vue祖先组件向子孙组件通信(provide / inject) 说明:这对选项需要一起使用,允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深(这也是通过props传值不好实现的地方),并在起上下游关系成立的时间里始终生效。 提示:provide和inject绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。 demo...
2019-07-27 10:41:48
2278
原创 h5-js模拟点击实现键盘事件
1.h5-js模拟点击实现键盘事件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>h5模拟键盘</title> <l...
2019-07-23 15:55:31
3483
转载 前端性能优化-资源预加载
前端性能优化-资源预加载 预加载 预加载是浏览器对将来可能被使用资源的一种暗示,一些资源可以在当前页面使用到,一些可能在将来的某些页面中被使用。作为开发人员,我们比浏览器更加了解我们的应用,所以我们可以对我们的核心资源使用该技术。 预加载可以拆分成很多小点:dns-prefetch, subresource, prefetch, preconnect和 prerender 1.dns预解析...
2019-02-27 09:16:05
840
原创 html a 标签下载文件资源
html a 标签下载文件资源 1.下载同源资源 使用download属性 1 <a href = "/download.png" download = "download">图片</a> 2.下载外链资源 使用FileSaver.js FileSaver.js是一款基于HTML5完成文件保存插件,它可以帮你直接从...
2019-02-22 10:39:52
1119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人