资讯专栏INFORMATION COLUMN

js new 对象干了啥

betacat / 328人阅读

摘要:属性和方法被加入到引用的对象中。并执行了该函数新创建的对象由所引用,并且最后隐式的返回。

1、创建一个空对象,并且 this 变量引用该对象,// lat target = {};

2、继承了函数的原型。// target.proto = func.prototype;

3、属性和方法被加入到 this 引用的对象中。并执行了该函数func// func.call(target);

4、新创建的对象由 this 所引用,并且最后隐式的返回 this 。// 如果func.call(target)返回的res是个对象或者function 就返回它

function new(func) {

lat target = {};
target.__proto__ = func.prototype;
let res = func.call(target);
if (typeof(res) == "object" || typeof(res) == "function") {
    return res;
}
return target;

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106709.html

相关文章

  • js new 对象了啥

    摘要:属性和方法被加入到引用的对象中。并执行了该函数新创建的对象由所引用,并且最后隐式的返回。 1、创建一个空对象,并且 this 变量引用该对象,// lat target = {}; 2、继承了函数的原型。// target.proto = func.prototype; 3、属性和方法被加入到 this 引用的对象中。并执行了该函数func// func.call(target); 4...

    codergarden 评论0 收藏0
  • 老生常谈,new运算符到底了啥

    摘要:冬天来了,好好学习,天天向上。在里面,得益于字面量对象,我们可以轻松的创建出一个对象,比如就可以直接创建对象。而在其它语言里面,无法通过这样的方式创建一个对象,一般会借助构造方法和运算符。 冬天来了,好好学习,天天向上。在js里面,得益于字面量对象,我们可以轻松的创建出一个对象,比如var o = {name: tom},就可以直接创建对象o。而在其它oo语言里面,无法通过这样的方式创...

    roundstones 评论0 收藏0
  • JS核心知识点梳理——原型、继承(下)

    摘要:引言上篇文章介绍原型,这篇文章接着讲继承,呕心沥血之作,大哥们点个赞呀明确一点并不是真正的面向对象语言,没有真正的类,所以我们也没有类继承实现继承有且仅有两种方式,和原型链在介绍继承前我们先介绍下其他概念函数的三种角色一个函数,有三种角色。 showImg(https://segmentfault.com/img/bVbo4hv?w=1800&h=1000); 引言 上篇文章介绍原型,...

    joyqi 评论0 收藏0
  • ES规范解读之赋值操作符&属性访问器

    摘要:那么什么是基础对象组件呢,举两个例子我们再来看看属性访问器,就是括号操作符及点号操作符都做了什么属性访问器也就是说括号跟点号对解释器而言是一样的。 ES规范解读之赋值操作符&属性访问器 原文:https://github.com/kuitos/kuitos.github.io/issues/24事情起源于某天某妹子同事在看angular文档中关于Scope的说明Understandin...

    funnyZhang 评论0 收藏0
  • 3分钟看懂Activity启动流程

    摘要:在结合下面简要的分析,分钟内你就能搞明白的启动流程。关于的启动,我在惊天秘密从开始,揭露线程通讯的诡计和主线程的阴谋一文中有提到过。从上图可以看到,方法中主要做的事情有初始化主线程的主。并使主线程进入等待接收消息的无限循环状态。 showImg(https://segmentfault.com/img/remote/1460000009912818); 背景介绍 从事开发到了一定阶段,...

    bang590 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<