面对对象
//-----使用构造函数创建对象:浪费空间,数据不能共享
// 原型对象作用之一:节省空间,数据共享
//原型:
//1. 构造函数中有一个prototype属性,是一个对象,叫原型,这个属性是给程序员,是一个标准的属性,也可以叫原型对象
//2. 实例对象中有个属性:__proto__属性,也是一个对象,叫原型,这个属性给浏览器用,不是一个标准的属性,也可以叫原型对象
//实例对象中的__proto__和构造函数中的prototype是相等的
//又因为实例对象是由构造函数创建的,所以实例对象中的__proto__指向构造函数中的prototype
//实例对象 原型对象 构造函数 这三个之间的关系?
//构造函数中有一个原型对象(prototype),prototype这个属性,是一个对象,这个原型对象中有一个属性 constructor 指向当前的构造函数
//实例对象中的__proto__指向构造函数中的prototype
//实例对象可以直接调用原型对象中的方法
//实例对象是通过构造函数创建的。
// my("dv").style.color = "red";
//style:既是一个属性,也是一个对象
// window.document.write();
// 原型对象:构造函数中的prototype属性,就是原型对象
//实例对象中的__proto__属性也是原型对象,不标准属性。
//什么样数据需要写在原型中?
//需要共享的数据(属性和方法)都可以写再原型中
//原型的作用:数据共享,节省内存空间
//原型对象中的方法:可以相互调用
//实例对象使用属性或者方法,现在实例对象中查找,找到了就有,找不到,就去实例对象的__proto__指向的原型对象prototype中去查找,如果找到了就用,找不到(属性:undefined,方法:报错)