通过案例总结自己对Javascript的面向对象的理解

什么是面向对象?

  • 把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。
  • 对同类对象抽象出其共性,形成类。
  • 类中的大多数数据,只能用本类的方法进行处理。
  • 类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。
  • 程序流程由用户在使用中决定。

理解面向对象

  • 面向对象是相对面向过程而言。
  • 面向对象和面向过程都是一种思想 面向过程,强调的是功能行为,关注的是解决问题需要哪些步骤。
  • 面向对象将功能封装进对象,强调具备了功能的对象,关注的是解决问题需要哪些对象。
  • 面向对象是基于面向过程的。

面向对象的四大特性
多态性、 继承性、 抽象性、 封装性

面向的对象的特点

  • 将复杂的事情简单化。
  • 面向对象将以前的过程中的执行者,变成了指挥者。
  • 面向对象这种思想是符合现在人们思考习惯的一种思想。

JS中的面向对象

  • Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类),注意是基于对象的语言,是一种弱类型语言
  • 对象:属性与方法的集合

使用函数构造器构造对象:

   // 构造器 Person 本身是一个函数对象
       function Person( name ) { 
                this.name = name; 
             } 
            var p = new Person(); 
            // 对象的隐式引用指向了构造器的 prototype 属性,所以此处打印 true 
             console.log( p.__proto__ === Person.prototype ); 
        
    // 原型本身是一个 Object 对象,所以他的隐式引用指向了
    // Object 构造器的 prototype 属性 , 故而打印 true 
     console.log( Person.prototype.__proto__ === Object.prototype ); 
    
    // 构造器 Person 本身是一个函数对象,所以此处打印 true 
     console.log( Person.__proto__ === Function.prototype );

彻底理解原型链:

function Person( name ) { 
    this.name = name; 
 } 
var p = new Person(); 
// 对象的隐式引用指向了构造器的 prototype 属性,所以此处打印 true 
 console.log( p.__proto__ === Person.prototype ); 

// 原型本身是一个 Object 对象,所以他的隐式引用指向了
// Object 构造器的 prototype 属性 , 故而打印 true 
 console.log( Person.prototype.__proto__ === Object.prototype ); 

// 构造器 Person 本身是一个函数对象,所以此处打印 true 
 console.log( Person.__proto__ === Function.prototype );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值