facebook的创始人扎克伯格从2009年开始,每年都会公布自己的年度挑战计划,他把这个计划称之为personal challenge。我决定效仿他,从今年开始,每年也制定一个年度挑战计划。
Home | Archives | About |
|
facebook的创始人扎克伯格从2009年开始,每年都会公布自己的年度挑战计划,他把这个计划称之为personal challenge。我决定效仿他,从今年开始,每年也制定一个年度挑战计划。
时间流转,来到了9102年的末尾,距离es6正式发布已经过去了4年半。在前端发展的时间长河中,我们送别了YUI,ie(也许),jQuery,现在,是时候送别es5了。
性能优化最常见的落脚点是在网络和dom上,但是在大数据量的场景下,由于Vue本身的特性,可能会造成js运行层面的性能问题,这篇文章讨论的就是针对这一部分的性能优化方案。
最终的结果会将一个2s的耗时减少到10ms
在Vue当中,hooks可以作为一种event,在Vue的源码当中,称之为hookEvent。
利用它,可以通过模板声明式的注入生命周期钩子函数,也可以给第三方组件添加生命周期处理函数。
1 | <Table @hook:updated="handleTableUpdated"></Table> |
localStorage提供了持久化的本地存储能力,但是由于标准设计年代久远,(getItem的签名是06年4月16日提交的),导致使用并不十分便利。在实际的开发当中,我们还需要解决2个问题:
作为一个中后台表单&表格工程师,经常需要在一个页面中处理多个弹窗。我自己的项目中,一个复杂的审核页面中的弹窗数量超过了30个,如何管理大量的弹窗就成为了一个需要考虑的问题。
下面这段代码,会产生什么样的结果?
1 | function sleep(time) { |
最近刷leetcode 79题 Word Search需要用到DFS算法,由于是刷leetcode,心想不能用递归,影响效率,于是利用stack完成。之后又利用递归(使用cache)实现了一次,结果竟然是递归的算法比非递归更快。
这两天一直在忙于封装一个vue table组件并发布到npm,记录一下我是如何把npm包的大小从100多kb减小到不足1kb的过程。
在进行业务开发的时候,前后端会对接口的数据结构进行约定,若接口有异常,需要将异常信息展示给用户知晓。这个流程里,数据结构是确定的(事先约定),数据的处理逻辑是相同的(展示给用户),如果在业务代码代码中重复的catch(e) { 展示给用户 },就非常的不优雅。本着Don’t repeat myself(懒)的原则,需要对接口错误进行统一处理。