2018年7月30日
摘要:
1,JSON.parse(JSON.stringify(obj)) 使用JSON实现深拷贝必须要求对象是符合JSON安全的,不了解JSON安全的自行百度。 2,lodash/underscore _.cloneDeep() 不错 3,immutable.js fromJS() 性能最差 4,自己写一
阅读全文
posted @ 2018-07-30 10:15
言先生
阅读(419)
推荐(0)
2018年6月20日
摘要:
mobx的优点 1,使用@observer的组件真正实现按需更新,只有监听的数据发生变化,它才会re-render,尽管父组件发生更新,但是子组件只要有@observer,则不会触发更新,类似于实现了shouldComponentUpdate的效果,而同样的场景,如果是redux,子组件通过conn
阅读全文
posted @ 2018-06-20 14:40
言先生
阅读(4851)
推荐(0)
2018年6月15日
摘要:
在实际开发项目中,我将所有的React组件划分为容器组件和展示组件,展示组件其实就是一个纯函数组件,没有任何副作用,基本都是PureComponent。但是突然,出现了这么一个问题: 我有一个浮层组件Layer,它是一个展示信息明细的面板类似于这种,就比如订单下单之后,在价格边上有个查看明细,这时候
阅读全文
posted @ 2018-06-15 09:44
言先生
阅读(1517)
推荐(0)
2018年5月7日
摘要:
关于提升,记住几个要点,后面所有的判断套这个要点就行: 1,执行代码时,第一步总是静态编译,编译器会解析所有声明的变量,然后绑定到相对应的作用域中,而第二步,引擎才会开始执行赋值等操作; 2,函数声明永远优先于变量声明,同样的函数声明,后者覆盖前者; 来看例子: 第一步会进行分词解析,a=2,实际上
阅读全文
posted @ 2018-05-07 09:50
言先生
阅读(229)
推荐(0)
2018年4月25日
摘要:
前言: 所有的编程语言都具备一个基本功能,储存、访问、修改变量的值,这种能力将状态带给了程序。 那问题来了:变量储存在哪里?如何访问到它们? 一,编译原理 一段源代码在执行前会经历的三个步骤,统称为编译。 1,传统编译语言(这里以执行“var a = 2;”为例) 1️⃣分词/词法分析(Tokeni
阅读全文
posted @ 2018-04-25 10:11
言先生
阅读(230)
推荐(0)
2018年4月3日
摘要:
先看一下src文件下的最外层的index.js: 对外导出了四个东西,常用的两个是Provider和connect,直接到对应的文件夹下去看。 1,Provider Provider.js中源码不多, connect方法做的事情是将state和dispatch绑定到Connect组件的参数上,然后C
阅读全文
posted @ 2018-04-03 09:22
言先生
阅读(278)
推荐(0)
2018年3月2日
摘要:
现实项目中,常常会用到请求,但是在考虑低版本的浏览器时,promise相关的axios,fetch这类第三方库的支持率就不那么好了,再考虑到最大的一个问题,跨域,更是让人头痛,虽然也有fetch-jsonp的方案,但是引入过多的库反而让项目变得复杂,后期插件版本升级等就比较繁琐。最常用的也是曾经红极
阅读全文
posted @ 2018-03-02 10:33
言先生
阅读(382)
推荐(0)
2018年2月23日
摘要:
本篇主要介绍setTimeout,setInterval,setImmediate和process.nextTick。 1,定时器 Node中的定时器和浏览器中用法一致。区别在于:在Node中,执行到setTimeout或setInterval的时候,会生成一个定时器,调用setTimeout或se
阅读全文
posted @ 2018-02-23 18:09
言先生
阅读(178)
推荐(0)
摘要:
对于Node中的异步I/O调用,从发出调用到回调执行,看起来像普通的js异步,但是流程却和普通js那些消息队列完全不同,整个过程经历了哪些? 下面以Windows平台下为例: 一,异步调用第一阶段: 1,首先JavaScript调用Node的核心模块,核心模块再调用C++内建模块,内建模块通过lib
阅读全文
posted @ 2018-02-23 18:02
言先生
阅读(346)
推荐(0)
摘要:
同步和异步与消息的通知机制有关。 同步就像一个任务队列一样,必须按顺序来,前一个完成了才能进行下一个。 异步是我只要通知你要做什么,然后你就自己去做,我不管你有没有做完,我通知了你我就去通知下一个,至于你有没有做成,不知道。 阻塞就是在调用结果返回前,当前线程会被挂起,一直处于等待消息通知,不能执行
阅读全文
posted @ 2018-02-23 15:06
言先生
阅读(208)
推荐(0)