博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS面向对象组件(四) -- 面向对象的继承
阅读量:5809 次
发布时间:2019-06-18

本文共 886 字,大约阅读时间需要 2 分钟。

什么是继承
  •在原有对象的基础上,略作修改,得到一个新的对象
  •不影响原有对象的功能
//父类   createPerson function  createPerson(name,sex){     this.name = name;     this.sex = sex; } createPerson.prototype.showName = function(){     alert(this.name); } var a = new createPerson("小明","男"); //子类   createStarfunction createStar(name,sex,job){    //createPerson(name,sex);   //最初的想法肯定是直接调用父类的构造函数,但是结果不行。因为调用这个构造函数前面没任何东西,this代表window、    createPerson.call(this,name,sex);   //所以要通过call改变this的指向。  指向为这儿b。    this.job = job;} createStar.prototype = createPerson.prototype;    //这个就存在对象引用的问题,但凡改变两个对象中的任意一个,另一个也会变。 createStar.prototype.showJob = function(){     alert(this.job); } var b = new createStar("黄晓明","男","演员"); b.showName(); console.log(a);    //会多出一个showJob console.log(b);

所以上面特意添加了个子类的方法showJob,来测试 createStar.prototype = createPerson.prototype 这个的问题。

具体解决方案见下篇、

转载于:https://www.cnblogs.com/wanliyuan/p/5245133.html

你可能感兴趣的文章
DEV-C++ 调试方法简明图文教程(转)
查看>>
参加婚礼
查看>>
Java重写equals方法和hashCode方法
查看>>
Spark API编程动手实战-07-join操作深入实战
查看>>
Spring ’14 Wave Update: Installing Dynamics CRM on Tablets for Windows 8.1
查看>>
MySQL 备份与恢复
查看>>
TEST
查看>>
PAT A1037
查看>>
(六)Oracle学习笔记—— 约束
查看>>
[Oracle]如何在Oracle中设置Event
查看>>
top.location.href和localtion.href有什么不同
查看>>
02-创建hibernate工程
查看>>
Scrum之 Sprint计划会议
查看>>
svn命令在linux下的使用
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
10g手动创建数据库
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
白话算法(7) 生成全排列的几种思路(二) 康托展开
查看>>