美文网首页
JS中构造函数的缺点你造么?

JS中构造函数的缺点你造么?

作者: 羞羞的王大锤 | 来源:发表于2020-03-16 23:43 被阅读0次

我们都知道,构造函数就像是一个模具一样,通过它可以创造出多个一致的对象,它可以规定属性还能定义统一的方法,就如同下面的例子

function Dog(name,weight){
    this.name = name;
    this.weight = weight;
    this.bark= function(){
        alert('wang wang !')
    }
}
var wangcai = new Dog('wangcai','20')

这里根据构造函数Dog,我们能创建一致的小姑对象,生成的小狗对象都有名字和重量,并且都可以汪汪汪。

这样似乎很完美,我只要创建一个构造函数,然后我就可以创造出千千万万个一致的对象啦,但这里也有着巨大的缺陷,你知道吗?

构造函数的缺点

根据构造函数创造的对象会极大的影响着浏览器的内存,影响系统的运行效率,为什么这么说呢?

var wangcai = new Dog('wangcai','20')
var xiaoqiang = new Dog('xiaoqiang','10')
var zhaocai  = new Dog('zhaocai','15')
……

当我们在使用构造函数创建每一个对象时,都会将构造函数的方法复制一份给新的对象(这里Dog构造函数的方法是bark),这样如果我们创建很多个对象,就会额外生成很多一样的方法,这样浏览器的内存开销就会巨大,占用计算机资源,影响应用程序的性能。

所以我们不能仅仅依靠构造函数去创建一直的函数

那能不能有办法可以重用这些方法而不用每次复制呢?

方法当然有,要解决这个问题,我们需要认识另外一个重量级的人物--原型

预知后事,请听下回分解!

今天我们不在这儿讲原型啦,如果你对原型感兴趣,请您移步查看我有关原型的文章,希望对你有用!

最后 🙌

好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~

相关文章

  • JS中构造函数的缺点你造么?

    我们都知道,构造函数就像是一个模具一样,通过它可以创造出多个一致的对象,它可以规定属性还能定义统一的方法,就如同下...

  • js的继承方式

    js的继承方式 一、原型链继承 原型继承的缺点: 二. 构造函数继承 构造函数继承的缺点: 三. 组合式继承 组合...

  • js 继承的三种方式构造函数、原型链、组合继承

    第一种方式:js使用构造函数的继承。 缺点:无法继承父类的原型链。 // 构造函数继承 缺点:没有继承原型链 fu...

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

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

  • 聊一聊js的几种继承方式

    在js中, 很多地方需要使用到继承, 废话少说, 今天来聊一聊js几种继承方式的优缺点 构造函数继承functio...

  • 03.js中的继承

    # 概述 本文主要记录js中实现继承的几种方法的实现,优缺点分析 # 知识铺垫 + **构造函数,原型和实例的关系...

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

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

  • 3-javascript 构造函数

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

  • js原型和继承

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

  • 我的JS笔记 -- 类

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

网友评论

      本文标题:JS中构造函数的缺点你造么?

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