- 博客(7)
- 收藏
- 关注
原创 九个JavaScript的简单技巧
九个JavaScript技巧1.生成指定范围的数字在某些情况下我们会创建一个处在两个数之间的数组.假设我们要判断某人的生日是否在摸个范围的年份内,那么下面是实现它的一个简单方法 let start = 1900, end = 2000 [...new Array(end + 1).keys()].slice(start) // or Array.from( {length: end - start + 1}, (_, i) => start + i)2.使
2020-10-13 09:17:59
142
原创 输入url后浏览器都干了些什么(详解)
输入url后浏览器干了些什么(详解)DNS(Domain Name System, 域名系统) 解析DNS解析的过程就是寻找哪台机器上有你真正需要的资源过程.但你在浏览器张红输入一个地址时,例如:baidu.com,其实不是百度网站真正意义上的地址.互联网上每一台计算机的唯一标识是他的IP地址,但是IP地址并不方便记忆.用户更细化用方便记忆的网址去寻找互联网上的其他计算机.也就是上面提到的百度的网址.所以互联网设计者需要在用户的方便性与可用性做一个权衡,这个权衡就是一个网址到IP地址的转换,这个过程就
2020-06-24 16:36:39
858
原创 页面的性能优化
页面的性能优化简介互联网有一些注明的8秒原则.用户在访问web网页时,如果时间超过8秒就会感到不耐烦,如果加载需要更长时间,他们就会放弃大部分用户希望网页能在2秒内完成加载。事实上加载事件没多出1秒就会流失7%的用户.8秒并不是准确的8秒,只是像网站开发者表明加载时间的重要性。如何提高加载速度呢?这是本文讨论的问题,然而性能优化是综合性的问题,没有标准答案。一、资源压缩与合并主要包括:**html压缩、css压缩、js压缩和混乱、文件合并。**资源压缩可以从文件中去掉多余的字符,比如回车、空格
2020-06-15 15:25:27
263
原创 Vue变化侦测原理
深入浅出 - Vue变化侦测原理如何侦测变化?关于变化侦测首先要问一个问题,在js中是如何侦测一个对象的变化的.其实这个问题还算比较简单的,js中有两种方法可以侦测到变化,Object.defineProperty和ES6中的proxy.到目前为止vue使用的还是Object.defineProperty,那么我们可以写出这样的代码 function defineReaction (data, key, val) { Object.defineProperty (data,
2020-06-04 13:58:11
284
原创 个人认为目前比较好用的ECMAScript(16-20)新特性
ECMAScript(16、17、18、19)新特性Array.prototype.includesincludes 是数组上的简单实例方法,可以轻松查找到数组中是否包含指定内容(包括NaN)返回布尔值 const arr = [1, 2, 3, 4, 5, NaN] if (arr.indexOf(3) >= 0) { console.log(true) } if (arr.includes(3)) { console.log
2020-05-29 17:54:01
275
原创 Vue数据更新页面没有更新问题总结
Vue数据更新页面没有更新问题总结1. Vue无法检测实例别创建时不存在于data中的property原因: 由于Vue会在初始化实例时对property执行getter/setter转化,所以property必须在data对象上存在才能让vue转换为响应式 // 问题 var vm = new Vue({ data: {}, template: '<div>{{item}}</div>' }) vm.item
2020-05-29 17:52:09
1019
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人