首页 > 其他分享 >js 实现继承

js 实现继承

时间:2023-04-24 18:12:35浏览次数:32  
标签:function name Animal1 leg 继承 js 实现 prototype Dog1

一、使用原型链

            function Animal1(leg){
                this.leg=leg;
            }
            function Dog1(name){
                this.name=name;
                Animal1.call(this,4) //!!import1 
            }
            Dog1.prototype.__proto__=Animal1.prototype  //!!import2  这句代码被砍了用以下替代
       //var f = function(){ }; f.prototype = Animal1.prototype; Dog1.prototype = new f(); Dog1.prototype.say=function(){ console.log(this.name+this.leg) } const d=new Dog1('12') // 124

  二、使用类:Class 可以通过extends关键字实现继承,让子类继承父类的属性和方法。

            class Animal{
                constructor(leg){
                    this.leg=leg
                }
            }
            class Dog extends Animal{
                constructor(name){
                    super(4);
                    this.name=name;
                }
                say(){
                    console.log(`i'm ${this.name}, i have ${this.leg} legs`)
                }
            }  
        const d=new Dog('12');
        d.say() //i'm 12, i have 4 legs

  

 

标签:function,name,Animal1,leg,继承,js,实现,prototype,Dog1
From: https://www.cnblogs.com/ducky-L/p/17350384.html

相关文章

  • Vue.js 目录
    Vue.js大致介绍Vue官网Vue.js搭建Vue开发环境(p4~p6)Vue.js模板语法Vue.js数据绑定Vue.jsel与data的两种写法Vue.js理解MVVMVue.js数据代理-回顾Object.defineProperty方法&数据代理理解Vue.js事件处理-事件的基本使用v-on传参Vue.js事件处理-事件修饰符Vue.js事......
  • js 如何实现类
    一、使用原型functionChicken1(name){this.name=name}Chicken1.prototype.kind='chicken';Chicken1.prototype.say=function(){console.log(`hello,i'ma${this......
  • 记录-使用双token实现无感刷新,前后端详细代码
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言近期写的一个项目使用双token实现无感刷新。最后做了一些总结,本文详细介绍了实现流程,前后端详细代码。前端使用了Vue3+Vite,主要是axios封装,服务端使用了koa2做了一个简单的服务器模拟。一、token登录鉴权jw......
  • 如何通过canvas实现粗细不同的电子签名
    想要实现一个电子签名,可以支持鼠标签名,还能类似书法效果线条有粗有细,同时可以导出成图片.一、实现连贯的划线1)首先需要注册鼠标下压、鼠标放开、鼠标移出和鼠标移动事件,通过鼠标下压赋值downFlag标记开始绘制2) 鼠标移动时,将当前坐标位置传入绘制方法,通过lineTo方法......
  • 纯人工手解jsjiami.v5|jsjiami.v6过程分析记录
    JSJiami.v6是一种JavaScript代码混淆工具,它可以将JavaScript代码转化为难以理解和阅读的形式,从而增强代码的保密性和安全性。在本文中,我们将介绍JSJiami.v6的工作原理,并提供一些实际的案例代码。JSJiami.v6的工作原理JSJiami.v6采用了多种混淆技术,包括代码结构转化、变量重命名、......
  • 《JSON 必知必会》阅读摘要记录
    [《JSON必知必会》阅读摘要记录|国光](https://www.sqlsec.com/2020/04/jsonbook.html#10-2-%E7%BB%93%E8%AF%AD)JSON必知必会书籍学习记录笔记,想深入一下JSONHijacking漏洞,所以就打算找一本JSON的书籍来读一遍,打捞自己的基础,于是就选了这本书来学习,以后这种读书笔记的......
  • JS逆向中 cookie加密的HOOK方法
    Object.defineProperty(obj,prop,descriptor)其中,参数obj是要定义属性的对象,    prop是要定义或修改的属性名,    descriptor是属性描述符对象。     属性描述符对象的属性包括value、writable、enumerable、configurable和get和se......
  • 数据库查询权限信息代码实现
    ​我们只需要根据用户id去查询到其所对应的权限信息即可​所以我们可以先定义个mapper,其中提供一个方法可以根据userid查询权限信息创建对应的mapper文件,定义对应的sql语句 在application.yml中配置mapperXML文件的位置 ​然后我们可以在UserDetailsServiceImpl中去调......
  • 实现语音接口的调用
    科技讯飞开放平台需要要获取id等3个参数,请到迅飞开放平台:https://www.xfyun.cn/services/voicedictation进行语音接口的调用,我在网上找到了别人的讯飞id接口,自己的还是没有实现成功。放一部分的代码实现一下吧。<%--CreatedbyIntelliJIDEA.User:DELLDate:2023/4......
  • FCKEditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。加入下面的代码://判断剪贴......