SF
码力全开
码力全开
注册登录
关注博客
注册登录
主页
关于
RSS
浅析 FP:JavaScript 中的纯函数
savokiss
2020-03-30
阅读 3 分钟
4.1k
前言 纯函数 是一个常见的概念,在日常工作中也经常会遇到,它其实非常简单,今天我们来了解一下它的好处以及为什么要使用它。 两个特点 一个函数,如果符合以下两个特点,那么它就可以称之为 纯函数: 对于相同的输入,永远得到相同的输出 没有任何可观察到的副作用 相同输入得到相同输出 我们先来看一个不纯的反面典型...
webpack 小技巧:动态批量加载文件
savokiss
2020-03-18
阅读 3 分钟
7.5k
背景 最近笔者在工作中遇到了一个小需求: 要实现一个组件来播放帧图片 这个需求本身不复杂,但是需要在组件中一次性引入十张图片,就像下面这样: {代码...} 作为一个有代码洁癖的程序员,我是不允许这种重复性代码存在滴,于是乎就尝试有没有什么简单的方法。 方法一:绕过 webpack 由于笔者用的是 vue-cli 3,熟悉的...
浅析 JS 设计模式之:单例模式
savokiss
2020-03-02
阅读 2 分钟
5.8k
良好的设计模式可以显著提高代码的可读性,降低复杂度和维护成本。笔者打算通过几篇文章通俗地讲一讲常见的或者实用的设计模式。 今天先从最简单的一个入手:单例模式。 文中的示例代码会使用 ES6 语法,尽量简化不必要的细节 概念 单例模式(Singleton)属于创建型的设计模式,它限制我们只能创建单一对象或者某个类的...
你可能忽略的 async/await 问题
savokiss
2020-02-16
阅读 3 分钟
5.5k
async/await 大家肯定都用过,在处理异步操作的时候真的是很方便。 如果有还不熟悉的小伙伴可以看笔者之前的文章: 带你理解 async/await 那今天主要讲一些在使用 async/await 时容易忽略和犯错的地方。 一个例子 下面是一个常见的 Vue 代码片段: {代码...} 上面的代码中,每一行都会 等待上一行的结果返回后才会执行。...
动图学 JavaScript 之: JS 引擎原理
savokiss
2020-01-07
阅读 3 分钟
7k
JS 实在是太酷了(认真脸),那你有没有想过机器是怎么解析 JS 代码的?作为一个 JS 开发者,一般我们不需要直接跟编译器打交道,但是如果可以了解其中的基本原理,相信会对以后的工作和学习都有帮助的!
10分钟搭建属于自己的 Vue CLI3 项目模板
savokiss
2019-04-21
阅读 3 分钟
6.4k
Vue CLI3 出来已经很长时间了,一直想研究它的插件系统却没有时间(其实是懒),刚好最近需要统一一下项目组的规范(借口),于是就有了契机。
WEB直播技术入门及在 Vue 中应用 video.js
savokiss
2017-09-25
阅读 3 分钟
47k
RTMP 实时消息传输协议,由Adobe公司研发,但当前还没有收入国际标准(wikipedia)。协议比较全能,既可以用来推送又可以用来直播,其核心理念是将大块的视频帧和音频帧“剁碎”,然后以小数据包的形式在互联网上进行传输,且支持加密,因此隐私性相对比较理想,但拆包组包的过程比较复杂,所以在海量并发时容易出现一些不...
【BUG】小米5中 video.js 在钉钉 webview 中全屏后 后退无法弹出虚拟键盘
savokiss
2017-09-15
阅读 2 分钟
4.9k
BUG背景 触发环境 MI 5 或 MI 6(三星没问题) 钉钉3.5.3(开发版没问题)Webview [WebKit 537.36 Chrome 57.0.2987.132](识别方法见文末) video.js 6.2.4 + vue-video-player 4.0.3 触发条件 进入video 页面,点击全屏按钮(屏幕无法自动横屏,视频在屏幕中间,上下都是黑屏) 再次点击全屏按钮(退出全屏)或者点击 m...
VueJS 如何编译服务器端远程模板【异步组件+简单方法】
savokiss
2017-08-28
阅读 3 分钟
11.1k
有些时候你可能需要从后台获取模板,并在前台在自己编译,这在用 AngularJS 1.x 的时候似乎很常见,可以直接用 ng-include 搞定,在 Vue 1.x 的时候也可以直接用 partial 搞定。但是在 Vue 2.x 中,官方取消了 partial 这个 API,根据情况推荐使用 component 代替,参见这里