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 存在的问题 第一个问题:若父类型中存在包含引用类型的实例属性,则该父类型的引用类型的...

z-index 详解

2019-12-23
阅读 1 分钟
2.4k
z-index 属性用来控制元素在 z 轴上的顺序 1. 适用范围 z-index 仅适用于定位元素。即 postition 值为 relative, absolute 和 fixed 属性 2. 作用 指定当前元素的 堆叠顺序 创建新的 堆叠上下文 2.1 什么是堆叠顺序 堆叠顺序是当前元素位于 z 轴上的值。值越大表示元素越靠近屏幕,反之元素越远离屏幕 在同一个堆叠上下...

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

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

个人前端面试总结

2019-06-07
阅读 2 分钟
3.2k
在工作了两年之后,就一直想着跳槽,去一家大公司。在 5 月 25 号(2019 年)时,我向老板提了离职,并且此时我开始在网上投简历,开始面试。

使用 git alias 提高 git 的使用效率

2018-12-19
阅读 2 分钟
1.9k
git 作为一个版本控制工具,是我们程序员平时工作中不可缺少的一部分。但有一个问题,我们开发完一个小功能或修改了一个 bug,都需要 add 然后 commit 一下,每次都要敲这么多的字符。作为经常使用 git 的我们来说,这是不能忍受的!

用 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,返回一个 新的数组 返回的数组的元素...

css3 动画(四)animation.css 源码分析

2018-07-22
阅读 2 分钟
4.4k
上一篇 css3 动画(三)animation 简介 中只是简单的介绍了一下 animation 的子属性,并没有真正的使用。在本篇中,通过阅读 animate.css这个 css 的动画库,来加深对 css3 的 animation 属性的理解。

css3 动画(三)animation 简介

2018-07-22
阅读 1 分钟
3.5k
上一篇中,总结了一下 transition 以及 cubic-bezier()。本篇中,将介绍 css3 动画中的更为灵活的动画属性:animation。

css3 动画(二)贝塞尔曲线

2018-07-09
阅读 2 分钟
11.8k
前言 上一篇 css3 动画(一) transition 中,介绍了 transition 的用法。其中 transition 包含四个可设置的属性: 有过渡效果的属性 过渡时长 过渡函数? 过渡时延 其中,1、2 以及 4 都挺好理解的,但是 3 是个什么东西?其实 3 是 css3 中的 timing-function,其中 3 有两种类型的值: cubic-bezier(x1, y1, x2, y2)...

css3 动画(一) transition

2018-07-08
阅读 2 分钟
4.4k
最近在研究 css3 的动画属性 transition 和 animation,发现自己之前对这两个 css3 的动画属性并没有太多深入的理解。本篇将介绍 css3 的 transition 以及自己的一些理解。

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 方法。

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

2018-06-17
阅读 2 分钟
10.3k
然而,随着你的应用发展到一定的大小和复杂时,事情可能就会变得令人困惑了。你的代码太乱了。随着你团队的成长,在原来代码基础上继续工作将变得很困难。每当代码合并时,你都要和冲突进行“斗争”。添加新的特性和不断地处理新的情况的话,需要改变应用的结构。而且,有如此多不同的方法来组织你的文件你和代码,并且在...

React Native 极光推送填坑(ios)

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