Event Loop 事件循环

2019-12-25
阅读 3 分钟
1.3k
说到 event loop,不得不提的是: JavaScript 是单线程的。即一次只能做一件事情。Event Loop 就是让 JavaScript 在运行时具有并发的能力。

js 的继承

2019-12-23
阅读 3 分钟
1.4k
1. 原型链实现继承 1.1 代码实现 {代码...} 原型链实现继承的关键代码:SubType.prototype = new SuperType; 本质上是重写了子类型的原型对象,其值为父类型的实力对象。这样的话,就可以通过原型链查找到父类型的属性和方法 1.2 存在的问题 第一个问题:若父类型中存在包含引用类型的实例属性,则该父类型的引用类型的...

浏览器 fps、requestAnimationFrame() 以及 requestIdleCallback()

2019-12-23
阅读 3 分钟
7k
最近在研究 react 源码(v16.8)的过程中,发现 react 使用了 requestAnimationFrame 和 requestIdleCallback 这两个 api。同时,这两个 api 与 浏览器的 fps 存在着关系。

用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具

2018-12-16
阅读 7 分钟
3.5k
上周,同事抱怨说 react 怎么不能像 angular 那样,使用命令行工具来生成一个组件。对呀,平时工作时,想要创建一个 react 的组件,都是直接 copy 一个组件,然后做一些修改。为什么不能将这个过程交给程序去做呢?当天晚上,我就仿照 angular-cli 的 api,写了一个生成 react 组件的命令行工具 rcli。在这里记录一下实...

通过面试题学前端(一)parseInt

2018-08-06
阅读 2 分钟
3.6k
前言 最近无意中发现了一道前端面试题: {代码...} 一想,答案不是 [1, 2, 3] 嘛。但在 chrome 控制台下运行一下,返回的却是 [1, NaN, NaN]。 这是怎么回事呢?让我们来看看 map() 和 parseInt() 方法的详细用法。 map map(callback, [thisArg]) 方法: 接受一个回调函数 callback,返回一个 新的数组 返回的数组的元素...

dayjs 源码解析(五)(dayjs 插件详解)

2018-07-07
阅读 2 分钟
4.3k
上一篇 dayjs 源码解析(四)(Dayjs 类)介绍了 dayjs 的源码目录结构。接下来,本篇将分析一下 dayjs 中插件功能的用法、源码以及如何编写自己的 dayjs 插件。

dayjs 源码解析(四)(Dayjs 类)

2018-07-07
阅读 8 分钟
2.8k
在 parse 实例方法中,会使用 parseDate 函数,传入 cfg.date 属性,得到 JavaScript 中原生的 Date 对象,且将 Date 对象保存在 Dayjs 实例属性(实例中的属性)中。然后再调用实例方法 init 来初始化 Dayjs 实例的其他属性。

dayjs 源码解析(三)(dayjs 构造函数)

2018-07-01
阅读 11 分钟
5.2k
翻看 第一篇 中介绍的 api,有哪些 api 会用到 dayjs() 构造函数呢?在构造一个新的 Dayjs 实例对象的时候会用到 dayjs()。即 “解析类中的构造和克隆”

dayjs 源码解析(二)(目录结构)

2018-07-01
阅读 1 分钟
2.6k
前言 上一篇 dayjs 源码解析(一)(api),介绍了一下 dayjs 的 api,知道了如何使用 dayjs。本篇,介绍 dayjs 项目的目录结构。 目录结构 在 dayjs 项目目录中,源码都放在 src 目录下,其中: locale 目录:国际化(多语言支持) plugin 目录:插件 constant.js:定义的不变量 index.js:dayjs 构造函数等核心代码 ut...

dayjs 源码解析(一)(api)

2018-07-01
阅读 4 分钟
8.1k
前言 作为一个程序员,阅读别人优秀代码是提升自己技术能力的一个很好的方法。下面,我将自己阅读 dayjs(v1.6.10)的源码的过程记录下来。 阅读库的代码,首先先要知道这个库的作用 dayjs 是一个轻量的 JavaScript 时间日期处理库,其用法(api)和 Moment.js 完全一样。 特点 和 Moment.js 相同的 api 和用法 不可变数...

移动 web 端屏幕适配 - rem

2018-06-24
阅读 1 分钟
4k
最近整理了一下以前学习前端的笔记,发现自己对移动 web 端屏幕适配(rem)这一块并没有真正理解,只是会用。接下来,把自己的一些对移动 web 端屏幕适配(rem)的思考记录下来。

Express 项目结构最佳实践(下)

2018-06-23
阅读 5 分钟
4.1k
Models 是你与你的数据库交互的一些文件。它们包含了你处理你的数据的所有方法和功能。它们不仅仅包含了创建、读取、更新和删除的方法,还包含了业务逻辑。例如,如果你有一个 car model,你可以有一个 mountTyres 方法。

React Native 极光推送填坑(ios)

2018-06-12
阅读 1 分钟
4.1k
使用了“极光推送”官方的插件 jpush-react-native。按照文档,将 ios 和 android 配置好,结果发现 android 能用,但 ios 是收不到通知的