构造函数,实例,原型,以及原型链

1,建立对象的方式:编程

(1)字面量:例如var o1={name:'o1'};编程语言

(2)用构造函数建立对象:   var M=function( ){ this.name='o1'} var o2=new M( );函数

  (3)   object .create :var p={ name:'o3'}; var o3=Object.create(p);this

1.构造函数的定义:prototype

  不一样于其它的主流编程语言,JavaScript的构造函数并非做为类的一个特定方法存在的;当任意一个普通函数用于建立一类对象时,它就被称做构造函数,或构造器。一个函数要做为一个真正意义上的构造函数,须要知足下列条件:3d

     ( 1) 、  在函数内部对新对象(this)的属性进行设置,一般是添加属性和方法。指针

     (2)、  构造函数能够包含返回语句(不推荐),但返回值必须是this,或者其它非对象类型的值。code

2.构造函数的意义:对象

         用字面量建立对象,每建立一个新的对象都须要写出完整的定义语句,不便于建立大量相同类型的对象,不利于使用继承等高级特性。blog

        new表达式是配合构造函数使用的,例如new String(“a string”),调用内置的String函数构造了一个字符串对象。下面咱们用构造函数的方式来从新建立一个实现一样功能的对象,首先是定义构造函数,而后是调用new表达式;

 

3.在使用new操做符来调用一个构造函数的时候,发生了什么呢?

  1. 新生成了一个对象
  2. 连接到原型
  3. 绑定 this
  4. 返回新对象

 

4.原型:

prototype

每建立一个对象都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象(这个对象的用途是包含能够由特定类型的全部实例共享的属性和方法)prototype就是经过调用构造函数而建立的那个对象实例的原型对象。使用构造函数的好处就是:能够让全部对象实例共享它所包含的属性和方法。

4.原型链:基本思想就是利用原型让一个引用类型继承另外一个引用类型的属性和方法

5.原型的规则:

相关文章
相关标签/搜索