moke's blog

vuePress-theme-reco moke    2017 - 2020
moke's blog

Choose mode

  • dark
  • auto
  • light
分类
  • 算法
  • 博客
  • HTTP
  • 数据结构
  • 前端
  • 文档
  • JS 基础
  • Node
标签
博客
前端
  • 知识体系
  • 前端资料
  • JavaScript 专题
  • JavaScript 基础
  • JavaScript 进阶
算法
  • 算法专题
  • 数据结构
TimeLine
GitHub (opens new window)
author-avatar

moke

56

Article

17

Tag

分类
  • 算法
  • 博客
  • HTTP
  • 数据结构
  • 前端
  • 文档
  • JS 基础
  • Node
标签
博客
前端
  • 知识体系
  • 前端资料
  • JavaScript 专题
  • JavaScript 基础
  • JavaScript 进阶
算法
  • 算法专题
  • 数据结构
TimeLine
GitHub (opens new window)
  • JavaScript 专题
  • 手动实现 call、apply、bind
  • 手动实现 JSONP
  • 手动实现 Promise
  • EventEmitter
  • 防抖与节流
  • 深浅拷贝
  • Instanceof
  • New
  • 继承相关
  • 前端路由
  • Curry
  • 工具函数

New

vuePress-theme-reco moke    2017 - 2020

New

moke 2019-03-13 23:41:17 JavaScript
export function myNew(...args) {
  // 创建一个空对象
  const obj = {}

  // 获取构造函数
  const Con = [].shift.call(args)

  // 设置空对象的原型
  obj.__proto__ = Con.prototype

  // 绑定 this 并执行构造函数
  const result = Con.apply(obj, args)

  // 确保返回值为对象
  return result instanceof Object ? result : obj
}
在 GitHub 上编辑此页 (opens new window)
最后更新时间: 12/10/2019, 2:00:35 PM