首页 > 代码库 > 面向对象学习ctor

面向对象学习ctor

对于理解对象要理解三个概念,实例,构造函数,原型对象。比如最基本的创建对象的方式:

var person1=new Object();

其中person就是对象实例,简称实例,Object是构造函数(js提供了一些内置的构造函数,比如Array,Date等,我们也可以自定义构造函数),Object构造函数有一个prototype属性,这个属性本身是一个对象,其中包含着所有基于该构造函数创建的实例所共享的属性和方法。其中有一个constructor属性指向构造函数,在本例中,prototype.constructor=Object。所以实例可以有自己的属性和方法,比如person1.name="tom",这个属性只属于person1,但是如果通过Object.prototype.name="tom"添加属性,那么这个属性就会变成所有基于该构造函数创建的实例的共享属性和方法。如果通过实例添加的属性名或方法名与原型对象中同名,那么会屏蔽原型中的属性或方法,此时只有通过delete删除私有属性或方法才能让实例重新使用原型对象的属性或方法

面向对象学习ctor