实践!实现纯前端下的音频剪辑处理

2019-10-07
阅读 8 分钟
4.3k
原本笔者打算将这件工作交给服务端去完成,但考虑,其实无论是前端还是后台,所做的工作是差不多的,而且交给服务端还需要再额外走一个上传、下载音频的流程,这不仅增添了服务端的压力,而且还有网络流量的开销,于是萌生出一个想法:为什么音频处理这件事不能让前端来做呢?

一段代码,带你理解js执行上下文的工作流程

2019-07-13
阅读 4 分钟
3.3k
我相信很多前端初学者一开始都会被执行上下文这个概念弄晕,或者说似懂非懂。对于工作两年的我来说,说来实在惭愧,虽然知道它大概是什么,但总觉得没有一个更为清晰的认识(无法把它的工作过程描述清楚),因此最近特意温习了一遍,写下了这篇文章

一个播放器引发的思考——谈谈React跨组件通信

2019-05-19
阅读 5 分钟
2.9k
原文地址 - 欢迎关注我的博客 在我们react项目日常开发中,往往会遇到这样一个问题:如何去实现跨组件通信? 为了更好的理解此问题,接下来我们通过一个简单的栗子说明。 实现一个视频播放器 假设有一个这样的需求,需要我们去实现一个简易的视频播放器,基于对播放器的理解,我们可以把这个视频播放器大致分为如下几个...

canvas进阶——如何画出平滑的曲线?

2018-10-13
阅读 5 分钟
13.6k
背景概要 相信大家平时在学习canvas 或 项目开发中使用canvas的时候应该都遇到过这样的需求:实现一个可以书写的画板小工具。 嗯,相信这对canvas使用较熟的童鞋来说仅仅只是几十行代码就可以搞掂的事情,以下demo就是一个再也简单不过的例子了: {代码...} 它的实现逻辑也很简单: 我们在canvas画布上主要监听了三个事...

循环下的正则匹配?说说正则中的lastIndex

2018-09-11
阅读 2 分钟
4.2k
最近在使用正则匹配的时候,我遇到一个非常有意思的现象,代码如下所示: {代码...} 这段代码很好理解:它的规则就是判断字符串中是否含有.jpg,然后再循环地和数组中的字符串进行匹配,打印出结果。 很显然这非常之简单嘛,输出的结果当然是全为true啦~ 然而,图样图森破,它的结果是这样的: 代码的执行结果非常神奇:...

从0到1,开发一个动画库(2)

2018-01-26
阅读 6 分钟
2.8k
上一节讲到了最基础的内容,为动画构建“帧-值”对应的函数关系,完成“由帧到值”的计算过程。这一节将在上节代码的基础上谈谈如何给一个完整的动画添加各类事件。

从0到1,开发一个动画库(1)

2018-01-21
阅读 10 分钟
6.4k
如今市面上关于动画的开源库多得数不胜数,有关于CSS、js甚至是canvas渲染的,百花齐放,效果炫酷。但你是否曾想过,自己亲手去实现(封装)一个简单的动画库?

如何在Canvas中实现自定义路径动画

2017-09-17
阅读 3 分钟
9.4k
在最近的项目中笔者需要做一个新需求:在canvas中实现自定义的路径动画。这里所谓的自定义路径不单单包括一条直线,也许是多条直线的运动组合,甚至还包含了贝塞尔曲线,因此,这个动画也许是下面这个样子的:

[译]React ES6 class constructor super()

2017-01-19
阅读 2 分钟
12.6k
原博文地址: [链接] 当我们像下面这样使用React的ES6 class语法创建一个组件的时候: {代码...} 不禁会提出两个问题: 在constructor里面调用super是否是必要的? super与super(props)的区别? 解答一: 仅当存在constructor的时候必须调用super,如果没有,则不用 如果在你声明的组件中存在constructor,则必须要加supe...