美文网首页
JavaScript 的new关键字理解

JavaScript 的new关键字理解

作者: 那就算了吧_ | 来源:发表于2019-06-10 22:57 被阅读0次

当我还是一个js初学者的时候总是忽视了new关键字的作用,也不理解new关键字在程序语言总取到的作用。只是知道js和其他语言一样也有new运算符。所以我想记录一下自己对new关键字的理解。

一、new应算符的经典应用

function Person(name,age){

    this.name = name;

    this.age = age;

};

Person.prototype.sayName = function(){

    console.log(this.age)

}

var person = new Person("paul",24);//构造函数;

person.name;//paul

p1.sayName();//24

在这一过程中new做了哪些工作呢 ,我们继续来分解new的运行过程。

二、new运算符的执行过程

我们先看MDN给出的new运算符的解释和对应的上面例子的生产过程:

    1.创建一个空的简单JavaScript对象(即{});

            var person  = {}

    2.链接该对象(即设置该对象的构造函数)到另一个对象 ;

            person._proto_= Person.protoype;//这里指新创建的空对象的原型指向构造函数的原型 即Person

    3.将步骤1新创建的对象作为this的上下文 ;

            Person.call(person,args);//改变this上下文 js中使用call,apply

    4.如果该函数没有返回对象,则返回this

            return person;//这里只有当构造函数没有返回值的时候才是返回新创建的对象,有返回值的情况稍后继续分析。

自此,我们得到新的person对象,我们称之为构造函数的实例。

相关文章

  • JavaScript面向对象设计

    参考资料: 深入理解JavaScript系列(5):强大的原型和原型链 JavaScript new关键字 jav...

  • JavaScript 的new关键字理解

    当我还是一个js初学者的时候总是忽视了new关键字的作用,也不理解new关键字在程序语言总取到的作用。只是知道js...

  • JavaScript new 关键字

    new 关键字 在JavaScript中, new 关键字用来创建一个类(模拟类)的实例对象。 实例化对象之后, ...

  • 2.1

    JavaScript是浮点型语言 关键字 break else new var case finally retu...

  • 日期对象-Date

    1、创建Date对象 在JavaScript中,创建日期对象必须使用“new语句”。使用关键字new新建日期对象时...

  • new 关键字

    1. 使用new发生了什么 和其他高级语言一样javascript中也有new关键字,但是new内部都干了什么呢?...

  • new 关键字模拟实现

    首先,new 是JavaScript用来实例化一个对象的关键字,后边跟着构造函数,例如: 那么,new究竟做了什么...

  • JavaScript —关于“ this”关键字的全部

    在本文中,我们将了解什么是JavaScript中的this关键字,this关键字的四种不同绑定以及“ new”关键...

  • 源码角度分析 new Vue 会发生什么

    从入口代码开始分析,new Vue 背后发生了哪些事情。 new 关键字在 JavaScript 中代表实例化一个...

  • JavaScript基础之创建对象

    JavaScript对象的创建 在JavaScript中创建一个对象有三种方式。可以通过对象直接量、关键字new和...

网友评论

      本文标题:JavaScript 的new关键字理解

      本文链接:https://www.haomeiwen.com/subject/vkxgrqtx.html