最近前端出现了性能问题,页面操作会越来越卡顿,最终导致内存溢出。元凶肯定就是开发人员-我们自己,而凶器呢-deepclone

比如有这样一个reducer

1
2
3
4
const updateDetailReducer = (state: IDetailState, action) => {
const detail = _.cloneDeep(state);
return { ... detail, ...action.params };
};

这个有问题吗?从结果来说确实没问题,因为它正常更新了状态。

阅读全文 »

一直对这三个概念,模糊不清,于是决定梳理下。

Method

A method is a function which is a property of an object. There are two kind of methods: Instance Methods which are built-in tasks performed by an object instance, or Static Methods which are tasks that are called directly on an object constructor.

一个方法就是一个函数,是对象的属性之一。有两种类型的方法:实例方法是由对象实例执行的内置任务,另一种是静态方法,在对象构造函数内直接调用的任务。

以上摘自MDN

阅读全文 »

今天花了点时间,研究了下Dash的使用,以前的使用还是不够系统和清晰,经过调整,打磨,进而提高效率和生产力。

注意,Dash Mac版付费,但iOS版免费。

功能点

  1. 查询语言API

    作为一个前端er,经常查询HTML,JS的兼容性等,有了dash就可以很方便的查看。虽然只是简单的将MDN的文档爬了下来,但确实节约了大量的检索时间。

  2. Annotation

    有时对于一些细节点,可以添加笔记加入自己的理解,写下来,就跟以前看书做笔记一样。

  3. Snippet

    该功能,个人废弃不使用。

阅读全文 »

最近Team前端在合并代码中,出现了多次的代码丢失问题,于是,开始基于这个现象分析,最后制定了冲突处理流程

冲突处理流程

举个栗子

feat/xxx=>sprint出现了冲突。

阅读全文 »

断断续续才把这本书读完

这本书以菜谱的方式讲述了JS的关键点,学到了很多,Mark下

版本

  1. ES是标准,JS是实现,我们网页中的JS是客户端执行,所以客户端即浏览器不同,对于JS,乃至HTML,CSS的支持也就不同。所以才有我们常说的兼容性问题,相同的JS在不同浏览器下的执行结果也不见得相同。
  2. 因为现在有了TypeScript,Babel,我们在开发中实际上可以书写较新的ES,比如ES6,7,8,而利用TSC和Babel编译到目标JS版本,同时对于不支持的语法,加入polyfill

数字计算

阅读全文 »
0%