- 博客(10)
- 收藏
- 关注
原创 JavaScript 事件派发器 EventEmitter
随着前端业务越来越复杂,为了更好地维护和拓展系统,我们需要将视图、逻辑和数据分层管理。像经典的 MVC 模型、MVP 模型及 MVVP 模型就是一种系统分层管理理念。而像前端常用框架 React 和 Vue 就是 MVVP 模型的最佳实践。
2020-04-30 21:29:03 2711 5
原创 彻底搞懂面向对象7大设计原则(附真实场景案例)
设计模式和设计原则是一种思想。其目的是面对经常变更的需求,怎样规整、构建代码,使其更容易拓展和维护。它的重点并不是能够减少多少代码量,反而对于有些场景还有可能增加代码量。当然如果设计合理,业务复杂,大部分情况下是可以减少很多代码量的。所以减少代码并不是重点,重点是如何让你的代码写得更有拓展性和维护性。
2020-04-30 17:28:00 2034 2
原创 MVC 模型、MVP模型 和 MVVM 模型介绍(附案例说明)
为了解决图形界面程序的复杂性,提高可维护性,MVC 模型、MVP模型 及 MVVM 模型应运而生。它们的本质都是将数据层、逻辑层、视图层分层管理。本文将分别介绍这三种模型的概念、特点及通信方式。并通过一个 todoList 案例来说明这三种模型。
2020-04-28 23:10:42 2969
原创 大数据性能提升 - Duff 装置介绍
Duff 装置指的是在使用 for 循环时,数据量超级大的时候,可以使用 do while 循环+ switch 的形式,或者使用升级式 do while 循环提高执行效率。
2020-04-21 14:47:21 494
原创 JavaScript 中的按位运算符
在 JavaScript 中经常会见到 & | 这两个符号。前者表示并且,取交集。后者表示或者,取并集。但偶尔看别人写 JS 代码或者在一些框架的源码中经常会遇到 ^ ~ << >> 这种运算符。那么它们分别表示什么意思呢?
2020-04-16 22:07:53 536 2
原创 compose 函数与 pine 函数
compose 函数是从右往左执行。compose 函数是一个高阶函数,第一阶参数分别为不同的函数,第二阶参数为第一阶参数中最右边的函数所需参数,执行最右边函数之后,将其返回值作为参数执行右边倒数第二个函数,再将其返回值作为参数,执行右边倒数第三个函数,以此类推。直到执行完所有函数,并返回第一个函数的执行结果。
2020-04-14 17:34:24 632
原创 算法 - 约瑟夫环(隔数删除)
从一个数列 a ( a[100] 存 0-99 )中每相隔 2 个数删除一个数。到末尾时循环至开头继续。求最后被删除的那个数。
2020-04-09 16:44:41 903 1
原创 算法 - 斐波那契数列
在一个斐波那契数列 [1,1,2,3,5,8,13,21,34...] 中。输入索引值 count,求对应的返回值result。比如输入 0,返回1;输入 4,返回 5;输入 5,返回 8。
2020-04-09 14:33:40 632
原创 杏子语录(2020年04月)
每个人在第一次遭遇某种挫折时,都要经历一个完整的痛苦链才能彻底释放焦躁与压力。这个完整的痛苦链包括对未知的恐惧与担忧,自我意识地安慰与疏导,一次次的失望,却又生生不息的希望,直到战胜那个蹲在阴影中的自己,或者依靠时间的力量去拨开雾霾。经历过这一遭之后,你才能成为谈笑风生的过来人。
2020-04-02 09:03:01 757 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人