1. 构造函数和原型
实例成员和静态成员区别
我们希望所有的对象都使用同一个函数,不用单独在开辟内存空间了,这样就比较节省内存。
我们可以把不变的方法定义在prototype原型对象上,这样所有的实例就可以共享这个方法。
一般情况下,我们的公共属性定义到构造函数里面,公共的方法我们放到原型对象身上。
原型是一个对象,可以将我们共享的方法放到原型中,不浪费内存空间实现内存共享。
问题:方法定义在原型对象上面,为什么实例对象可以ldh.sing()使用这个方法?ldh对象身上也没有sing这个方法呀?
在对象身上,系统自动添加一个__proto__指向我们构造函数的原型对象,这样我们就可以使用singf方法。