发布了文章2019-10-07
原本笔者打算将这件工作交给服务端去完成,但考虑,其实无论是前端还是后台,所做的工作是差不多的,而且交给服务端还需要再额外走一个上传、下载音频的流程,这不仅增添了服务端的压力,而且还有网络流量的开销,于是萌生出一个想法:为什么音频处理这件事不能让前...
发布了文章2019-07-13
我相信很多前端初学者一开始都会被执行上下文这个概念弄晕,或者说似懂非懂。对于工作两年的我来说,说来实在惭愧,虽然知道它大概是什么,但总觉得没有一个更为清晰的认识(无法把它的工作过程描述清楚),因此最近特意温习了一遍,写下了这篇文章
发布了文章2019-05-19
原文地址 - 欢迎关注我的博客 在我们react项目日常开发中,往往会遇到这样一个问题:如何去实现跨组件通信? 为了更好的理解此问题,接下来我们通过一个简单的栗子说明。 实现一个视频播放器 假设有一个这样的需求,需要我们去实现一个简易的视频播放器,基于对播放...
赞了回答2018-10-26
是这样的,为了性能和电量,RequestAnimationFrame 在页面后台运行或者不可见的<iframe>里面会降低帧率,从这个情形看,chrome浏览器中,页面后台运行时,回调函数是不被调用的。
赞了文章2018-10-18
我们在handleChange方法中,呼叫setState来更新选项的值,然后在控制台中输出这个值。看起来一切都是很符合逻辑,但你如果一执行就会发现,在控制台中输出的this.state.value,并不会在呼叫setState方法后立即就变动。像下面的执行的结果图一样:
发布了文章2018-10-13
背景概要 相信大家平时在学习canvas 或 项目开发中使用canvas的时候应该都遇到过这样的需求:实现一个可以书写的画板小工具。 嗯,相信这对canvas使用较熟的童鞋来说仅仅只是几十行代码就可以搞掂的事情,以下demo就是一个再也简单不过的例子了: {代码...} 它的实现...
发布了文章2018-09-11
最近在使用正则匹配的时候,我遇到一个非常有意思的现象,代码如下所示: {代码...} 这段代码很好理解:它的规则就是判断字符串中是否含有.jpg,然后再循环地和数组中的字符串进行匹配,打印出结果。 很显然这非常之简单嘛,输出的结果当然是全为true啦~ 然而,图样...
发布了文章2018-01-26
上一节讲到了最基础的内容,为动画构建“帧-值”对应的函数关系,完成“由帧到值”的计算过程。这一节将在上节代码的基础上谈谈如何给一个完整的动画添加各类事件。
发布了文章2018-01-21
如今市面上关于动画的开源库多得数不胜数,有关于CSS、js甚至是canvas渲染的,百花齐放,效果炫酷。但你是否曾想过,自己亲手去实现(封装)一个简单的动画库?
赞了文章2018-01-17
javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解。
赞了文章2017-11-24
一个emoji文本用javascript该如何正确计算其文本长度?最容易想到的自然是用length来求长度。以下列举常见emoji和复杂emoji。
发布了文章2017-09-17
在最近的项目中笔者需要做一个新需求:在canvas中实现自定义的路径动画。这里所谓的自定义路径不单单包括一条直线,也许是多条直线的运动组合,甚至还包含了贝塞尔曲线,因此,这个动画也许是下面这个样子的:
赞了文章2017-09-01
因为之前代码写得太乱了。最近在重写,忘了开分支。有兴趣查看之前代码的朋友可以重置回c8034eb这个commit之前的代码看。重写完成后会重写一篇文章,抱歉啦。
发布了文章2017-01-19
原博文地址: [链接] 当我们像下面这样使用React的ES6 class语法创建一个组件的时候: {代码...} 不禁会提出两个问题: 在constructor里面调用super是否是必要的? super与super(props)的区别? 解答一: 仅当存在constructor的时候必须调用super,如果没有,则不用 ...