资讯专栏INFORMATION COLUMN

new 操作符具体干了什么?

zhou_you / 1004人阅读

摘要:共经历了四个过程。创建了一个空对象设置原型链让的指向,并执行的函数体判断的返回值类型,如果是值类型,返回。

new共经历了四个过程。

var fn = function () { };
var fnObj = new fn();

1、创建了一个空对象

var obj = new object();

2、设置原型链

obj._proto_ = fn.prototype;

3、让fn的this指向obj,并执行fn的函数体

var result = fn.call(obj);

4、判断fn的返回值类型,如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。

if (typeof(result) == "object"){  
    fnObj = result;  
} else {  
    fnObj = obj;
}  

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

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

相关文章

  • 老生常谈,new运算符到底干了

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

    roundstones 评论0 收藏0
  • vue2源码框架和流程分析

    摘要:流程图盗用一下官网关于生命周期的图,对照之前的内容梳理一下对照上面的分析基本上可以找到各个钩子函数的位置,下面那个销毁的我就没用做分析了。。。 vue整体框架和主要流程分析 之前对看过比较多关于vue源码的文章,但是对于整体框架和流程还是有些模糊,最后用chrome debug对vue的源码进行查看整理出这篇文章。。。。 本文对vue的整体框架和整体流程进行简要的分析,不对某些具体的细...

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

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

    funnyZhang 评论0 收藏0
  • JavaScript 中的 new 到底干了什么,跟原型链又有一些什么联系?

    摘要:原文如果按面向对象的思路去讲的,还是很难去理解,我们可以从另一个方向去理解一下它。 原文:https://legacy.ofcrab.com/press/javascript-new.html 如果按面向对象的思路去讲 JavaScript 的 new,还是很难去理解,我们可以从另一个方向去理解一下它。 你这些人类 我是一名程序员,也是一个人,我可能: 有一个响亮亮的名称 在某一天出...

    Cympros 评论0 收藏0

发表评论

0条评论

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