美文网首页
JS中的原型我们来搞懂它

JS中的原型我们来搞懂它

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

原型是什么?

JavaScript对象可以从其他对象那里继承属性和行为,更具体的来说,JavaScript使用原型式继承,其中被继承的对象成为原型。我们举个例子来说
比如我们创建一个小狗的原型,它有属性分别是name和weight,它有方法是bark

function Dog(name,weight){
    this.name = name;
    this.weight = weight;
}
Dog.prototype.bark = function(){
        alert('wang wang !')
    }

上面我们就创建好了小狗原型。你可能会发现,这里使用了prototype属性,它代表一个指向原型的引用
在我的另一篇文章中,介绍了构造函数,分析了构造函数的缺点,即使用构造函数时,每创建一个对象时,方法需要被复制,创建对象多时,会极大占用内存资源,影响应用程序的运行效率

而原型概念则完美的解决了这一问题。我们来创建几个小狗对象

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

正如上面的例子,这些小狗对象,都有brak方法,但是,在创建对象的时候bark方法不需要被复制,这里调用的bark方法只有一个,那就是原型的方法,JavaScript在查找方法的过程是这样的:

  1. 在对象中查找有没有定义bark方法
  2. 有则调用,没有定义它就会追溯原型链,直到找到bark之后再调用方法。这样一来不管创建多少个对象,都不会受影响,因为大家都共用一个方法,实现了共享

相关文章

  • JS中的原型我们来搞懂它

    原型是什么? JavaScript对象可以从其他对象那里继承属性和行为,更具体的来说,JavaScript使用原型...

  • JS中的原型和原型链详解

    JS中的原型和原型链是大家彻底搞懂JS面向对象及JS中继承相关知识模块非常重要的一个模块,一旦突破这块知识点,相信...

  • 2019-03-25 继承

    js中通过原型来实现继承 组合继承:原型继承+借用构造函数继承

  • 高级1 对象-原型

    什么是 JS 原型链? this 的值到底是什么? JS 的 new 到底是干什么的? 你怎么还没搞懂 this?...

  • TypeScript 类和函数

    先看两篇文章关于 ES5 原型链的,写的特别好,图画的就更好了,参考资料:帮你彻底搞懂JS中的prototype、...

  • 在nodejs中面向对象:Bearcat

    JS中的面向对象 最最最开始,我们先来说说JS中的面向对象。 原型链 参考文章:图解Javascript原型链 J...

  • 浅谈JavaScript原型链和寄生式继承的实现

    JavaScript原型链的问题在面试经常遇到 , 有时候我们很难搞懂其中的关系 ! 今天我们来谈谈 JavaSc...

  • 来聊聊JavaScript核心之"伪类"

    接上一篇"原型类"来聊聊JavaScript核心之"原型类继续上篇中我们的例子,拿到的是原型类 现在我们把它重构成...

  • js中的原型_proto_、原型链、prototype、cons

    _proto_(原型) js中每一个对象都有一个_proto_(原型)对象,它指向他构造函数的prototype(...

  • 原型

    一:你是如何理解js 中的原型的 1.原型是什么? 我们js中 所有的的函数 包括原生的,和自定的 都默认有一个 ...

网友评论

      本文标题:JS中的原型我们来搞懂它

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