<script>
function Star(uname, age) {
this.age = age;
this.uname = uname;
}
Star.prototype.sing = function () {
console.log('我爱唱歌');
}
//为节省内存,不另外开辟内存空间,把公共方法定义在原型对象身上
var ldh = new Star('刘德华', 18);
var zxy = new Star('张学友', 58);
ldh.sing()//我爱唱歌
console.log(ldh.age);//18
console.log(ldh.sing === zxy.sing);//true
console.log(ldh.__proto__ === Star.prototype);//true
//对象身上系统自己会添加一个__proto__指向构造函数的原型对象
//方法的查找:
//1、首先看ldh身上是否有相应的sing方法,如果有就执行这个对象身上的sing
//2、如果有sing这个方法,因为有__proto__的存在,就会去构造函数原型对象prototype身上查找
</script>
