JS面向对象 - 构造函数 - 继承
2019-03-27 21:33
274 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Haozi_Din/article/details/88855304
继承 : 子类继承父类的属性和方法
好处 : 减少代码量, 公共的父类可以复用. 降低耦合度.
JS里实现继承的方法 :
1. 通过改变构造构造函数中对象的指向实现继承
2. 通过原型链实现继承.
[code] function Animal(){ this.species = "哺乳动物"; this.place = "地球"; } function Cat(){ Animal.call(this); this.name = "加菲"; this.color = "橘色" } var cat = new Cat(); //new出一个实例
改变调用对象的方法 :
1. call() 参数1: 要改变成的对象, 参数2: 往后多个参数: Fun的参数
2. apply() 用法及与call的区别>>
[code]var obj = {}; function test(a,b,c){ console.log(this,a,b,c); } test.call(obj,1,2,3); test(); //{},1,2,3
原型链实现继承 :
使用构造函数的prototype 属性, 如果Cat 构造函数的原型对象被赋值成了 Animal 构造函数的实例对象, 因为所有Cat 构造函数的实例对象都会拥有自己构造函数原型对象里的 所有属性和方法, 所以Cat构造函数的实例对象里 就会拥有Animal 构造函数里的所有属性和方法.
无法通过construtor 属性找到自己的构造函数
[code]Cat.prototype = new Animal(); var cat1 = new Cat(); console.log(cat1.species, cat1.place); //修复 constructor 问题 Cat.prototype.constructor = Cat;
相关文章推荐
- JS 面向对象之继承 -- 借用构造函数
- JS面向对象---构造函数之间的继承(阮一峰网络日志学习笔记)
- js--面向对象--构造函数的继承
- js面向对象小结(工厂模式,构造函数,原型方法,继承)
- JS面向对象---非构造函数之间的继承(阮一峰网络日志学习笔记)
- js--面向对象--非构造函数的继承
- Js面向对象漫谈(2) 继承--原型链,借用构造函数,组合式,寄生式, 寄生组合式
- js面向对象(构造函数与继承)
- js面向对象3:非构造函数的继承
- js面向对象之构造函数、封装与继承
- JavaScript面向对象(三)——继承与闭包、JS实现继承的三种方式
- js面向对象(json对象、继承、面向对象拖拽)
- Javascript 面向对象之构造函数的继承
- js实现面向对象的继承和重载
- js面向对象之继承那点事儿根本就不是事
- JS实现继承之不可取的构造函数方式继承
- JavaScript高级程序设计之面向对象的程序设计之继承之借用构造函数第6.3.2讲笔记
- js面向对象的继承--拷贝,类式继承,原型继承
- JS面向对象,创建,继承
- js1:对象的学习,构造函数,继承构造函数【使用教材:JavaScript深度剖析第2版】