- 博客(10)
- 收藏
- 关注
原创 前端学习总结——es6之数组
本片要总结的数组的方法有——forEach、map、filter、find、every、some、reduce和Array.from,Array.offorEach:遍历数组,用法和for循环差不多array.forEach((item) =>{console.log(item);});//遍历array,不改变array,也不返回新数组map:将一个数组通过某个函数进行处理,来生成另一个数组var newArray= array.map(function(item){//将arr
2020-07-12 22:56:00 179
原创 前端学习总结-原生js之高阶函数
前端学习的总结,如果以后发现错误或有新的理解再继续补充。先写三个,函数的柯里化,级联函数,防抖与节流。1.函数的柯里化函数柯里化,我的理解是,用闭包的原理,将一部分只需要操作一次的操作进行缓存。比如:var getCurry= function (x) { x+=1; return function(y) { return x + y }};let curry=getCurry(1);curry(1);正如之前所总结的(原生js之闭包.
2020-07-12 21:04:39 213
原创 Vue2.0源码中的巧妙设计——代理proxy
直接copy今天要学习的源码,扫一眼,然后先跳过。const sharedPropertyDefinition = { enumerable: true, configurable: true, get: noop, set: noop}export function proxy (target: Object, sourceKey: string, key: string) { sharedPropertyDefinition.get = function proxyGett
2020-07-09 21:30:17 569
原创 前端学习总结-原生js之闭包
一.怎么形成闭包首先,闭包有个比较明显的形式,就是一个函数里套着另外一个函数。比如这样:function outside(){ var outSideValue='outSideValue'; function inside(){ console.log(outSideValue); } return inside;}而函数有个特点,可以记住自己被定义时的作用域。所以内部的函数inside(),就可以访问并记住外面的outSideValue,这就形成了闭包。二.什么是闭包那么什么
2020-06-26 15:21:26 226
原创 前端学习总结-浏览器的缓存(下-缓存实践)
前端学习总结的笔记,如果以后发现错误或有新的理解再继续补充。一.开发中资源更新后,浏览器端显示的是缓存的内容。1.首先,可以手动ctrl+F5,强制清缓存刷新。2.如果嫌每次手动麻烦的话,可以打开浏览器无痕窗口,使用无痕窗口开发。3.谷歌浏览器还可以通过禁用network中的DIsable cache来解决这个问题。4.在资源路径后面增加动态随机数,也可以解决这个问题。二.HTTP缓存方案1.如果无需使用缓存,设置Cache-Control 为no-store。2.如果需要使用缓存,且需向服
2020-06-26 12:22:16 181
原创 前端学习总结-浏览器的缓存(上-缓存机制)
前端学习总结的笔记,如果以后发现错误或有新的理解再继续补充。分为俩块理解,缓存位置和缓存方式缓存位置按优先级依次是:1.ServiceWorkerServiceWorker可用于浏览器离线服务2.Memory Cache内存缓存,存取速度快,但是容量比较小,通常一些不大的资源会被浏览器安排缓存在这里。3.Disk Catche硬盘缓存,存取速度相对Memory Cache较慢,但是容量相对较大,相对较大的资源比如一些较大的css文件会被浏览器安排缓存在这里。但是Memory Cache和Di
2020-06-25 14:40:46 162
原创 前端学习总结-从发起请求到浏览器显示页面,中间发生了什么
前端学习总结的笔记,如果以后发现错误或有新的理解再继续补充。第一步:通过域名获取IP地址,首先查找浏览器缓存,如果没有再查找操作系统,还没有再查找ISP,最后还没有就查找根服务器。第二部:获取到IP地址后,建立TCP连接(三次握手),第三步:获取到服务器响应后,浏览器开始进行解析,首先先是将html解析成dom树,再将css解析成语法规则树。完成后,将dom树和语法和规则树结合,组成渲染树,最后通过操作系统的API进行渲染。...
2020-06-24 23:08:05 515
原创 前端学习总结-原生js之继承
学习后为加深记忆做的笔记,如果以后发现错误或有新的理解再继续补充。1.什么是继承?暂时理解为让一个js对象拥有另一个js对象的属性和方法。2.继承的实现方式原型链继承,构造函数继承,组合继承,原型继承,寄生继承,寄生组合继承。每一种继承的实现方式都有它的优点和缺点,寄生组合继承相对来说完美一点,但是实现较为繁琐,ES6中的extends用的就是寄生组合继承。原型链继承:通过原型链实现继承,让一个实例对象的构造函数的prototype属性指向另一个js对象。构造函数继承:通过在函数中用call或
2020-06-09 23:06:37 199
原创 前端学习总结-原生js之原型链
学习理解后为加深记忆做的笔记,如果以后发现错误或有新的理解再继续补充。1.什么是原型?js中,每一个实例对象在创建的时候,都会关联另外一个对象,这个对象就是我们所说的原型对象。这个原型对象存有实例对象上的属性和方法,实例对象通过_proto_属性指向原型对象,可以理解为实例对象继承自原型对象。同时,原型对象上会有一个constructor属性指向创建实例的函数。函数通过prototype属性,指向原型对象。2.什么是原型链?原型对象,同样也会继承自另外一个原型对象。js中所有对象最终会继承自Obj
2020-06-08 00:16:52 244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人