实现js中new的功能
来源:会飞小超人     阅读:521
源码超市
发布于 2019-06-11 04:13
查看主页

首先看看new具备哪些功能:

  1. 创立一个对象,对象的原型指向构造函数的prototype。
  2. 构造函数里的this指向的就是这个对象。
  3. 执行构造函数里的语句。

但还要考虑一点,构造函数里可以返回一个自己设置的值,这个值es有这样的规范:
遇上返回Object就返回自身,否则返回构造的Object。

function _new(func,...arg){    // 1. 创立一个对象,对象的原型指向构造函数的prototype。    let obj=Object.create(func.prototype)    // 将构造函数里的this指向这个对象,病执行构造函数里的语句    const ret=fn.appay(obj,arg)    // 遇上返回Object就返回自身,否则返回构造的Object    return ret instanceof Object?ret:obj}
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 服务器应用
相关推荐
textview - 文字轮播
unix常用命令手册 - xxd 查看十六进制
某程序员发现新同事简历造假!原来是培训机构出身!
《吊打面试官》系列-Redis基础知识
web前台入门到实战:用最简单的方法实现原生JS放大镜特效
首页
搜索
订单
购物车
我的