好程序员前端教程面对对象与原型原型链

好程序员前端教程面对对象与原型原型链
1、面向对象:
面向对象是一种程序开发的方法,它将对象做为程序的基本单元,将程序和数据封装其中,以提升软件的灵活性、重用性和扩展性。对象是把数据及对数据的操做方法放在一块儿,做为一个相互依存的总体。再说一下类与对象,类描述了一组有相同特性和相同行为的对象,具备相同属性和相同方法的对象的抽象就是类。即对象的抽象是类,类的实例是对象。在面向对象的编程中,把用类建立对象的过程称为实例化。
面向过程与面向对象的区别在于面向过程是一种直接的编程方法,它是按照编程语言的思路考虑问题。经过顺序执行一组语句来实现一个功能,这些语句的执行过程就是整个程序。面向对象是一种抽象度更高的编程方法。它的目标是使模块的抽象度更高,目的是可复用。面向对象三大特性:封装,继承,多态。
面向过程能够说是从细节方面思考问题。面向对象能够说是从宏观方面思考问题
对象的建立方式有对象字面量,工厂方式,原型方式,构造函数,混合模式。
原型,原型链:
咱们建立的每一个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,这个对象的用途是包含能够由特定类型的全部实例共享的属性和方法。那么,prototype就是经过调用构造函数而建立的那个对象实例的原型对象。使用原型的好处是可让对象实例共享它所包含的属性和方法。也就是说,没必要在构造函数中添加定义对象信息,而是能够直接将这些信息添加到原型中。使用构造函数的主要问题就是每一个方法都要在每一个实例中建立一遍。在JavaScript中,一共有两种类型的值,原始值和对象值。每一个对象都有一个内部属性 prototype ,咱们一般称之为原型。原型的值能够是一个对象,也能够是null。若是它的值是一个对象,则这个对象也必定有本身的原型。这样就造成了一条线性的链,咱们称之为原型链。
简单的说就是在JavaScript 中,每当定义一个对象(函数)时候,对象中都会包含一些预约义的属性。其中函数对象的一个属性就是原型对象 prototype。JS在建立对象(不管是普通对象仍是函数对象)的时候,都有一个叫作__proto__的内置属性,用于指向建立它的函数对象的原型对象prototype,咱们把这个有__proto__串起来的直到Object.prototype.__proto__为null的链叫作原型链。前端

相关文章
相关标签/搜索