美文网首页
JS中的构造函数

JS中的构造函数

作者: 印第安老斑鸠_333 | 来源:发表于2019-03-20 10:10 被阅读0次

想生成10个相同对象,每个对象100条属性,可以吗?可以!怎么做呢?写这样10个对象太累啦,必须用for循环啊。用for循环可以吗?可以!那写100,1000,个会怎样呢?每个对象里面有这么多属性,内存受的了么?那怎么办?好办呀,需要知道,对象是存在堆内存里的,它赋值给变量只是传了一个地址。

所以,生成以个模板就好了呀,模板???就是构造函数。

①,每个对象都有一个隐藏属性 __proto__,指向原型对象(xxx.prototype),并继承原型对象的属性和方法

②,new一个构造函数,就会生成一个对象实例,这个实例的原型对象就是这个构造函数的prototype属性

③,假如要生成100个对象,每个对象有100条 键值相同属性,而且有98条相同的值,那就把这98条属性写进构造函数的prototype属性。剩下两条写进构造函数,属性值别写死,就当做参数传进来,这样生成100个对象,每个对象只有两条属性,剩下98条都在原型对象里,__proto__属性存了prototype的地址,用哪个属性了就去找。

PS:

构造函数和模板有啥关系?没看出来啊?

生成的100个对象他们相似么?废话,当然相似了,有98条属性可以共用!!这些对象怎么来的呢?new一个构造函数造出来的啊!!这98条属性是谁的呢?是构造函数的prototype属性里面的呀!!那你说构造函数是模板吗??.......

说了半天构造函数跟函数有啥关系?

①,构造函数就是函数啊 

②,但他有特征啊,函数名大写,与new命令搭配,函数内部使用了this关键字

相关文章

  • 前端JS进阶二(ES6-Class语法)

    Class和普通构造函数有何区别 前端会使用ES6中的Class来代替JS中的构造函数 JS 构造函数 Class...

  • 面向对象/内置构造函数

    内置构造函数创建对象 JS中的内置构造函数 String Number Boolean 注意:(区别于string...

  • 3-javascript 构造函数

    js中面向对象编程是基于构造函数(consstructor)和原型链(prototype)的。 构造函数作为对象的...

  • js原型和继承

    原型 一、原型的概念 执⾏构造函数代码时, js系统会给这个构造函数创建⼀个原型对象,构造函数中也包含⼀个prot...

  • 我的JS笔记 -- 类

    JS是没有类的,但JS可以利用构造函数实现近似类的功能。 构造函数 构造函数,是用来创建对象的函数。与普通的函数声...

  • JS中的构造函数

    想生成10个相同对象,每个对象100条属性,可以吗?可以!怎么做呢?写这样10个对象太累啦,必须用for循环啊。用...

  • JavaScript原型对象

    原型:概念:执行构造函数代码时,js系统会给这个构造函数创建一个原型对象,构造函数中也包含一个prototype属...

  • 论js里 面向对象的原型

    一、原型的概念: 1、原型的概念:执行构造函数代码时,js系统会给这个构造函数创建一个原型对象,构造函数中也包含一...

  • 2020-12-15

    js对象的创建和函数 创建对象 工厂模式 构造函数 原型方式+构造函数

  • ES5和ES6中继承的不同之处

    1、JS中是没有继承的,不过可以通过构造函数或是原型等实现继承,ES5实现继承的方法——构造函数,当一个构造函数加...

网友评论

      本文标题:JS中的构造函数

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