JS高级(三)
属性的继承
- call方法 : 把父类的this指向子类的this
方法的继承
-
实现方法:把父类的实例对象保存给子类的原型对象
-
父类的实例对象赋值给子类的原型对象,然后指回构造函数
-
一般情况下,对象的方法都在构造函数的原型对象中设置,通过构造函数无法继承父类方法。核心原理: ①将子类所共享的方法提取出来,让子类的prototype 原型对象= new 父类() ②本质:子类原型对象等于是实例化父类,因为父类实例化之后另外开辟空间,就不会影响原来父类原型对象 ③将子类的constructor指回子类的构造函数function Father() { } Father.prototype.sing = function () { console.log('唱'); }; function Son() { } // 这个赋值的是地址,公用一个空间,改一个就全改 // Son.prototype = Father.prototype; // 父类的实例对象赋值给子类的原型对象,然后指回构造函数 // 单独new一个空间给Son用{ Son.prototype = new Father(); Son.prototype.constructor = Son; Son.prototype.dance = function () { console.log('tiao'); }; var obj = new Son(); obj.sing(); obj.dance(); console.log(Son.prototype); console.log(Father.prototype);-
属性继承,方法继承
-
属性:call:把父类的this指向子类的this
-
方法:父类的实例对象赋值给子类的原型对象,
-
子类原型对象的constructor一定要指回子类的构造函数
实现继承后,让Son指回原构造函数 Son.prototype = new Father(); Son.prototype.constructor = Son;
-
-
-
用构造函数实现属性继承,用原型对象实现方法继承
类的本质
- class本质还是function
ES5新方法
遍历数组
- forEach(function(element, index, [遍历的数组本身] ){})
- filter() 还能做筛选
- array.filter(function(){})
- 主要用于筛选
- 返回一个新数组
- some()
- 查找,查找需要找的值是否存在
- 返回布尔值
- return element === 100;
- 找到就停止遍历
- 遍历对象
- obj【key】
我命由我不由天,自己的路自己做主!

浙公网安备 33010602011771号