new 做了什么

JavaScript 中 new 做了什么

我们使用 new 和构造函数产生一个新的对象,那在这个过程 new 做了什么呢?

  1. 生成一个空的对象 obj
  2. 将 obj 的原型指向构造函数的 prototype
  3. 将 obj 赋值 给上下文 this
  4. 将 this 返回

因此,下面代码将打印出 true 和 a

Read More

this 指向

this 永远指向一个对象

普通函数

this 的指向完全取决于函数调用的位置

箭头函数

this 被设置为他被创建时的环境

call,apply,bind

  • call,apply 改变函数调用的 this 指向,立即执行,call 的参数逐个传递,apply 数组形式传递
  • bind 返回一个函数,并改变它的 this 指向,而且只能改变一次,bind 的参数逐个传递

CommonJS 与 ES6 Module 的区别

JavaScript 起初只是用来做页面的的简单交互,随着 Web 应用的复杂性越来越高,维护成本越来越大,模块化标准也在 ES6 版本应运而生。当然,在 ES6 Module 出现之前,社区在使用 Node.js 的过程中,也形成了适合 Node.js 的 CommonJS 模块标准。

Read More

.npmrc 与 npm config 命令

.npmrc 是什么

.npmrc 是 npm 的配置文件。当运行 npm 命令时,会从 .npmrc 文件读取相关配置。

对于中国开发者,最常见的 .npmrc 配置是设置淘宝源,加快 npm 包的下载速度。

1
registry=https://registry.npm.taobao.org/

Read More

羽球往事

(一篇 2015年的旧文。)

大约十年前,拍还是一副一副的买,球还是一个一个的买,而不像现在,拍一把一把的买,而球一桶一桶的买。也就是差不多那个时候,我拥有自己的第一副羽毛球拍,它打开了我通往羽毛球世界的大门。

Read More