三者之间的关系:
构造函数可以实例化对象
构造函数中有一个属性叫prototype,是构造函数的原型对象
构造函数的原型对象(prototype),中有一个constructor构造器,这个构造器指向的就是自己所在的原型对象所在的构造函数
实例对象的原型对象(_proto_)指向的是该构造函数的原型对象
构造函数的原型对象(prototype)中的方法是可以被实例对象直接访问的
原型中的方法是可以相互调用的
实例对象当中的属性或者方法,先在实例对象当中查找,找到了就直接使用,找不到去实例对象的__proto__指向的原型对象prototype中找,找到了则使用,找不到则报错
实例对象:通过构造函数,实例化一个对象(例: var per=new Student()),如果是实例化一个对象,并初始化(例:var per=new Student("小明",18,"男"))
原型的作用之一: 共享数据,节省空间
原型?
* 实例对象中有__proto__这个属性,叫原型,也是一个对象,这个属性是给浏览器使用,不是标准的属性----->__proto__----->可以叫原型对象
* 构造函数中有prototype这个属性,叫原型,也是一个对象,这个属性是给程序员使用,是标准的属性------>prototype--->可以叫原型对象
*
* 实例对象的__proto__和构造函数中的prototype相等--->true
* 又因为实例对象是通过构造函数来创建的,构造函数中有原型对象prototype
* 实例对象的__proto__指向了构造函数的原型对象prototype