美文网首页
对于面向对象的一点理解

对于面向对象的一点理解

作者: darkTi | 来源:发表于2018-03-28 19:52 被阅读0次

对于面向对象,我的理解是第一先构造函数,第二往这个构造函数自带的prototype属性里添加属性,第三,new这个函数创建一个对象,然后使用这个对象里的属性,下面就详细来理解一下~

  1. 声明函数
function home(name){
    this.name = name
}

这时这个构造函数里还会出现一个prototype的属性,这是每个函数都自带的属性;

  1. 向这个函数的prototype属性添加你所需要的属性
home.prototype.baba = function(){console.log(`我是${this.name}`)}
  1. 创建一个对象,即new这个构造函数,那么这个对象的_proto_属性就被设置为这个构造函数的prototype的属性了(因为对象本身就具有_proto_属性,new home时,_proto_就成为home.prototype;new people时,_proto_就成为people.prototype
var h = new home('a')
h.baba() // 'a'
image.png
  • 当new一个函数时,会发生什么呢?
    ①创建一个空对象,把这个空对象的_proto_属性设置为这个函数的prototype
    ②执行这个函数,此时这个函数里面的this代表刚刚创建的这个新对象
    ③返回这个对象,如果构造函数中有return,return的是基本类型的话就忽略不计,但是return的是引用类型(对象、数组之类的),那么就返回这个引用类型,不过应该也没有人无聊到在构造函数里return东西出来

记住:函数本身有prototype属性,对象本身有_proto_属性,函数的prototype属性对应的值是一个对象,叫做原型对象,这个原型对象可以被这个函数new出来的所有对象共享

有了这个原型之后,我们可以把用到的属性都写到这个原型中,每次只需创建不同的对象,这两个对象虽然功能都一样,但却是完全独立的两个组件,这就是组件化

  • 原型图


    原型图.png

相关文章

  • 对于面向对象的一点理解

    对于面向对象,我的理解是第一先构造函数,第二往这个构造函数自带的prototype属性里添加属性,第三,new这个...

  • 对于面向对象的理解

    面向对象主要有三个特征: 封装性: 指的是隐藏了对象的属性和细节,仅仅对外提供公共的访问方式,这样就会将一些具体的...

  • 第2天 关于面向对象

    1.如何理解“面向对象”? 关于面向对象的理论、流派,写很多本书都讲不完,每个人对于“面向对象”的理解也根据各人的...

  • 面向对象编程的反向学习

    今天看了篇关于面向对象编程的文章,发现自己对于面向对象编程的基础理解甚少。作者对于面向对象编程的问题描述正式我们在...

  • ios面试题总结

    谈谈对面向对象的理解,面向对象的三要素 对于多态的理解 category的原理[https://www.cnblo...

  • 面试题的总结与解答

    1,js中this指向的理解 在js面向对象编程里我们避免不了使用this,所以理解this指向对于在面向对象编程...

  • 面向对象的理解

    面向对象的理解 1.面向对象是一种编程思想,相对于面向过程而言2.将具体的功能封装于对象之中,让对象实现具体功能 ...

  • 面向对象

    面向对象基础 目标 理解面向对象 类和对象 添加和获取对象属性 魔法方法 一. 理解面向对象 面向对象是一种抽象化...

  • 理解面向对象

    理解面向对象 阅读知乎大牛对面向对象的讨论后,写下自己的总结和理解。知乎 面向对象的原本特性 面向对象原本的特性(...

  • 面向对象

    什么叫做面向对象,对于一些初学者来说可能很难理解。 首先我们先来看看什么是对象:我个人对于这里的对象的理解呢就是:...

网友评论

      本文标题:对于面向对象的一点理解

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