js学习之继承与枚举
首先就是明白继承的几种方式:
1.传统方式——>原型链,其缺点为过多的继承了一些不需要的东西。
这个例子就是原型链的继承方式。
2.借用构造函数的方法。不能继承借用构造函数的原型
每调用构造函数都会多用一个函数
这个例子就是借用构造函数的方式来实现继承,这种用法主要用于当一个方法完全覆盖另外一种方法时。
3.共有原型,指的是多个函数共用一个原型
这种方式就是共有原型的例子,其缺点是不能生成所特有的属性
4.圣杯模型,是所有的继承模式中最好的一种。
这个是圣杯模式的优化版,其中运用了闭包的原理,将这个过渡的构造函数给封装立即执行函数中,在程序的调用中是不可能调用它的。
枚举
首先就是要知道枚举的遍历
首先你应该了解obj.name ————>obj['name'] 这两个等式可以划上等号。所以在这里我使用的就是obj[prop]
在这里使用了hasOwnProperty()方法,它判断该属性是否为自己本身的属性
in 与 hasOwnProperty的区别,in表示在对象上调用。
instanceof方法 :类似于in,A instanceof B 看A对象的原型链上有没有B的原型
另外就是上述所提到的两种方法。