js面向对象的组成是
1、属性
2、方法
使用的时候是再构造函数里面加属性,在原型里面加方法。
如果直接在构造函数里面:传值、新建对象、增加属性/方法、返回对象的这种方法,会产生问题,主要是
1、没有new
2、函数重复定义,这样会让资源浪费
所以,我们要在构造函数里面使用this构造属性,把方法放在原型里。
如果我们把面向过程的函数改写为面向对象的函数的话,要先解决函数嵌套,然后把变量转化为属性,把函数转化为方法,
调用的时候要new。
假设B继承A,如果不让B先增加的方法也影响到A,继承的方法如下
for(var i in A.prototype){ B.prototype[i] = A.prototype[i]; }