首页 > 其他分享 >JS中的继承

JS中的继承

时间:2023-04-25 12:44:42浏览次数:50  
标签:function prototype 继承 子类 JS SubType constructor 父类

使用class extends 关键字js帮我们生成的继承关系图

image

如果我们想要实现上面的继承关系,要注意以下问题:

  1. 子类和父类的属性都在1中,怎么才能实现?
  2. 子类的constructor属性指向子类,怎么才能实现?
  3. 子类的原型方法和父类的原型方法,各自独立,分别在2和3中,怎么才能实现?

解决方法

  1. 子类和父类的属性都在1中
function SubType(name) {
  SuperType.call(this, name);
}
  1. 子类的constructor属性指向子类
SubType.prototype.constructor = SubType;
  1. 子类的原型方法和父类的原型方法,各自独立
//这个方法很重要!!!ES5 Object.create()与该方法的行为相同
const createObj = function(obj) {
  const F = function() {};
  F.prototype = obj;
  return new F();
}

SubType.prototype = createObj(SuperType.prototype);

标签:function,prototype,继承,子类,JS,SubType,constructor,父类
From: https://www.cnblogs.com/tangshidedabenniao/p/17352264.html

相关文章

  • JS中的文件流
    创建BlobnewBlob();Blob转化为URLwindow.URL.createObjectURL(blob);//DomStringwindow.URL.revokeObjectURL(objectURL);//释放怎么读取Blob文件newFileReader(blob).readAsDataURL();//Base64格式,imgsrc可以直接展示.readAsText();//字符串格式.readAsA......
  • 借灰姑娘的手,讲述js加密的美丽
    这个故事的主角是灰姑娘,她有一个重要的秘密,需要将其保护起来。但是,她发现她的网站上的JavaScript代码很容易被其他人阅读和修改,为了保护这个秘密,她需要采用一些混淆和加密技术。以下是她使用的一些技术:1.函数调用混淆灰姑娘混淆了函数的调用方式,从而使得代码难以被阅读和理解。例......
  • js空值判断
    js空值判断参考:https://blog.csdn.net/yun_master/article/details/115015113参考:https://blog.csdn.net/szl199107101035/article/details/123839403......
  • 前端使用CryptoJS加密解密
    1、安装crypto-js;npminstallcrypto-js--save-devyarnaddcrypto-js--dev2、新建unit.js写成公共方法;constCryptoJS=require('crypto-js');//16位十六进制数作为密钥(秘钥为随机生成,必须与后端保持一致!)constkey=CryptoJS.enc.Utf8.parse("xxxxxxxxxxxxxx");//......
  • js 异步请求
     //标签$.ajax({url:'/TagManager/MatchList',dataType:'json',data:{functionId:$('#FunctionId').val()},async:true,success:function(data){tag=$("#Tag&......
  • 比较Python与Java在类的定义、继承、多态等方面的异同
    首先我来进行介绍Python与Java在类的定义、继承、多态等方面的异同1.python类和java类的使用一览java:publicclassCar{privateStringcolor;privateStringmodel;privateintyear;publicCar(Stringcolor,Stringmodel,intyear){......
  • 浏览器4行js代码自动读取IC卡号
    BS架构软件集成IC卡读卡器,在前段只需要4行js代码即可实现自动读取IC卡卡号,在web上使用IC卡读卡器其实就是这么简单.首先安装友我IC卡读卡器web插件,这个web插件安装后之后goole浏览器,火狐,IE等浏览器,然后插上IC卡读卡器YW-607HC,然后开始敲js代码了.引入相应的js后,开始寻卡......
  • window操作系统安装多个版本nodejs版本-控制工具nvm
    参考:https://blog.csdn.net/m0_38134431/article/details/118388297https://juejin.cn/post/7044890876631318564电脑上已经安装了10.x版本的nodejs,你不想直接更新到12.x,想同时保存10.x和12.x版本,在必要的时候还能随时切换nodejs版本,nvm工具可以实现一、首先要安装nvm下载地......
  • 微服务-node.js
    权威解释Node.js®isaJavaScriptruntimebuiltonChrome’sV8JavaScriptengine.Node.jsusesanevent-driven,non-blockingI/Omodelthatmakesitlightweightandefficient.Node.js’packageecosystem,npm,isthelargestecosystemofopensourcelibraries......
  • js字符串与json对象处理
    直接上代码:<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>点绘制济南省</title></head><bodystyle="margin:0;overflow:hidden;background:#fff;width:100%;height:100%;position:absolu......