前端开发技巧
一几先生
提高钝感力
展开
-
深度解析dom diff算法(三)
react diff算法实现我们了解了,我们继续对比学习以下vue的算法流程是怎样的VUE算法时间复杂度同样是将时间复杂度降低到了O(n)Vue对diff算法的改进1、和react的策略如出一辙,同样的三条策略2、唯一不同点在于element diff的纬度上vue有了自己的想法Vue对element diff做的优化在vue内部遍历新旧树同一层级节点时,对于旧树和新树分别有一个头尾指针(共四个指针,分别是oldStart,oldEnd,newStart,newEnd),利用这.原创 2020-10-27 21:49:04 · 338 阅读 · 0 评论 -
深度解析dom diff算法(二)
了解了vdom和dom diff的前世今生,让我们来看看当今主流前端框架的diff算法策略又是什么,本篇我们先介绍react的dom diff算法React算法时间复杂度众所周知,react框架把diff算法复杂度由O(n的三次)降低到了O(n)React对diff算法的改进react的diff算法针对三个纬度产出了相应的优化策略:1、web ui中跨层级的移动操作很少,可以忽略不计 (tree diff)2、拥有相同类型的两个组件将会生成相似的树形结构,不同类型的组件生成不同的树形结.原创 2020-10-26 22:35:59 · 474 阅读 · 1 评论 -
mac电脑node-sass安装失败问题
背景:libtool: unrecognized option `-static'libtool: Try `libtool --help' for more information.make: *** [Release/sass.a] Error 1gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lo原创 2020-06-03 23:51:36 · 4644 阅读 · 1 评论 -
redux中间件之redux-thunk和redux-saga
本文阅读前要有一定redux基础redux作为状态管理仓库,在我们前端应用中发挥着非常重要的作用,先放一张官方redux flow图片使用middleWare背景:我们知道redux中数据流是同步的,不支持异步action更新或获取数据,但是在实际项目中异步请求数据绝对是高频出现,并且可以说占据了9成以上的业务场景(初始数据列表、获取商品信息、添加购物车等等),因此redux中间件诞生...原创 2020-02-22 21:55:12 · 297 阅读 · 0 评论 -
移动端ios和安卓兼容问题总结
首先声明,总结不易,转载请标明出处,谢谢1、new Date获取时间戳在安卓机上new Date('2019-9-10')可以成功获取时间戳,ios无法获取处理方法: 将字符串中-替换成/,.replace(/\-/g,'');2、点击复制功能安卓和ios是不同的实现方式,详见我之前的一篇博客https://blog.csdn.net/weixin_39327883/art...原创 2019-07-30 15:09:16 · 1822 阅读 · 0 评论 -
前端跨域问题九种解决方法
1、jsonP2、iframe系列iframe+domainiframe+hashiframe+window.name3、postmessage4、跨域资源共享(cors)5、nginx代理6、node.js中间件代理跨域7、websocket协议跨域详情参考链接:https://www.cnblogs.com/sdcs/p/8484905.html...转载 2019-06-30 16:16:48 · 203 阅读 · 0 评论 -
js 利用栈来实现括号匹配算法
const str = '({}))'; const isbalance = (str) => { const [first,...others] = str; //解构赋值 es6新增方法(不熟悉的http://es6.ruanyifeng.com/#docs/array戳这里) const st...原创 2019-07-10 16:01:52 · 1310 阅读 · 1 评论 -
ajax请求详解
ajax的基础是XMLHttpRequest1、需要新建对象let xhr = new XMLHttpRequest();2、向服务器发送请求xhr.open(method,url,async); //method定义请求post还是get方法 url定义请求路径async定义是否异步xhr.send(string); // string仅用于post请求注意:这两...原创 2019-06-23 23:46:24 · 254 阅读 · 0 评论 -
web worker使用教程
http://www.ruanyifeng.com/blog/2018/07/web-worker.html转载 2019-03-20 17:04:21 · 489 阅读 · 0 评论 -
axios与ajax请求的区别
一、axiosaxios({ url:'/user/xxx', method:'POST', responseType:'json', data:{ a:a, b:b } }).then( res => {}).catch( error =...原创 2019-02-26 00:20:37 · 3318 阅读 · 0 评论 -
es6 规范新增方法小结
1、变量声明新增let、const声明方式: let声明不存在变量提升、且不可重复声明 const 声明一个常量,期间不可改变其值2、箭头函数eg: 之前的方式: function (){ xxx } 现在的方式:var name1 = () => { xxx } 要注意两点: 1、如果参数是一个,则括号可省略;2、如...原创 2019-02-22 20:52:10 · 196 阅读 · 0 评论 -
img标签显示 base64格式的 图片
话不多说,直接上代码其中格式可以为 data:image/png,data:image/gif 有兴趣的朋友可以自己再去研究原创 2018-12-27 16:35:34 · 2656 阅读 · 0 评论