【前端每日一题】day5

JS 实现继承的几种方式

在JavaScript中,实现继承的几种方式包括原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承和组合式继承。

原型链继承:

function Parent() {this.name = 'Parent';
}
Parent.prototype.sayHello = function() {console.log('Hello, I am ' + this.name);
};function Child() {}
Child.prototype = new Parent();var child = new Child();
child.sayHello(); // 输出: Hello, I am Parent

构造函数继承:

function Parent() {this.name = 'Parent';
}function Child() {Parent.call(this);
}var child = new Child();
console.log(child.name); // 输出: Parent

组合继承:

function Parent() {this.name = 'Parent';
}
Parent.prototype.sayHello = function() {console.log('Hello, I am ' + this.name);
};function Child() {Parent.call(this);
}
Child.prototype = new Parent();
Child.prototype.constructor = Child;var child = new Child();
child.sayHello(); // 输出: Hello, I am Parent

原型式继承:

function object(o) {function F() {}F.prototype = o;return new F();
}var parent = {name: 'Parent',sayHello: function() {console.log('Hello, I am ' + this.name);}
};var child = object(parent);
child.sayHello(); // 输出: Hello, I am Parent

寄生式继承:

function createAnother(original) {var clone = Object.create(original);clone.sayHello = function() {console.log('Hello, I am ' + this.name);};return clone;
}var parent = {name: 'Parent'
};var child = createAnother(parent);
child.sayHello(); // 输出: Hello, I am Parent

组合式继承:

function Parent(name) {this.name = name;
}
Parent.prototype.sayHello = function() {console.log('Hello, I am ' + this.name);
};function Child(name) {Parent.call(this, name);
}
Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;var child = new Child('Child');
child.sayHello(); // 输出: Hello, I am Child

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

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

相关文章

当它还是幼生期的时候,及早离开它!

当我们有丰富的精神生活时,充实的知识吸收储备时,为自己的每一点进步而欣慰时,我们就不会有失败的忧虑。也不会有孤单的自怜。 没有人是弱者,每个人都有自己活着的方式,当你内心强大时,你会尊重每一个“弱者…

Vue+springboot的批量删除功能

vue前台 <div style"margin-bottom: 10px"><el-button type"primary" plain click"handleAdd">新增</el-button><el-button click"delBatch" type"danger" plain style"margin-left: 5px"…

Spring Cloud 背后技术详解

Spring Cloud 是基于 Spring Boot 的一套微服务架构解决方案。它为开发者提供了一系列的工具&#xff0c;用于快速构建分布式系统中的一些常见模式&#xff08;例如配置管理、服务发现、断路器等&#xff09;。Spring Cloud 利用 Spring Boot 的自动配置和独立运行能力&#xf…

C语言例题41、八进制转换为十进制

#include<stdio.h>void main() {int x;printf("请输入一个8进制整数&#xff1a;");scanf("%o", &x);printf("转换成十进制后的整数为%d\n", x); }运行结果&#xff1a; 本章C语言经典例题合集&#xff1a;http://t.csdnimg.cn/FK0Qg…

Java基础(33)Java Web拦截器作用和用法

Java Web拦截器&#xff08;Interceptor&#xff09;是Java Web开发中一个重要的概念&#xff0c;它允许开发者在处理HTTP请求和响应之前或之后执行特定的代码&#xff0c;从而实现如权限检查、日志记录、事务管理等功能。拦截器可以作用于Java EE的Servlet、Spring框架、Strut…

redis试题按知识点归类(四)

十六、实战应用 1.如何使用 Redis 存储用户会话&#xff1f; 2.Redis 在电子商务平台中的应用是什么&#xff1f; 3.如何使用 Redis 进行实时数据分析&#xff1f; 十七、面试题综合 1.描述一次你解决 Redis 性能问题的经历。 2.你如何理解 Redis 中的“单线程”模型&…

Java入门基础学习笔记21——Scanner

在程序中接收用户通过键盘输入的数据&#xff1a; 需求&#xff1a; 请在程序中&#xff0c;提示用户通过键盘输入自己的姓名、年龄、并能在程序中收到这些信息&#xff0c;怎么解决&#xff1f; Java已经写好了实现程序&#xff0c;我们调用即可。 API&#xff1a;Applicat…

2024 年中国大学生程序设计竞赛全国邀请赛(郑州)暨第六届CCPC河南省大学生程序设计竞赛 problem K. 树上问题

//先找一个美丽的树&#xff0c;然后遍历树找节点,分析是否符合条件。 //画几个图&#xff0c;思考下。 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c[n],d,l,r,k,w,an; vector<int>t[n]; void dfs(int x,int…

MLT剪辑sample

#include <framework/mlt.h> int main(int argc, char **argv) { // 初始化MLT mlt_factory factory mlt_factory_init(NULL); // 加载素材&#xff08;这里假设我们有一个名为"video.mp4"的视频文件&#xff09; mlt_profile profile mlt_prof…

什么是页分裂、页合并?

数据组织方式 在InnoDB存储引擎中&#xff0c;表数据都是根据主键顺序组织存放的&#xff0c;这种存储方式的表称为索引组织表(index organized table IOT)。 行数据&#xff0c;都是存储在聚集索引的叶子节点上的。而我们之前也讲解过InnoDB的逻辑结构图&#xff1a; 在I…

61、内蒙古工业大学、内蒙科学技术研究院:CBAM-CNN用于SSVEP - BCI的分类方法[脑机二区还是好发的]

前言&#xff1a; 之前写过一篇对CBAM模型改进的博客&#xff0c;在CBAM中引入了ECANet结构&#xff0c;对CBAM中的CAM、SAM模块逐一改进&#xff0c;并提出ECA-CBAM单链双链结构&#xff0c;我的这个小的想法已经被一些同学实现了&#xff0c;并进行了有效的验证&#xff0c;…

快速对比 找出2个名单不同之处

import pandas as pd# 读取两个Excel文件 df1 pd.read_excel(1.xlsx) df2 pd.read_excel(2.xlsx)# 检查两个DataFrame的列是否相同 if list(df1.columns) ! list(df2.columns):print("两个Excel文件的列不一致。")print("文件1的列&#xff1a;", df1.co…

AI智能体|手把手教你申请一个Kimi(Moonshot)的API KEY

大家好&#xff0c;我是无界生长。 今天分享一下如何申请一个Kimi(Moonshot)的API KEY&#xff0c;为后面Kimi(Moonshot)接入微信机器人做铺垫。学会了的话&#xff0c;欢迎分享转发&#xff01; 前提 拥有一个Kimi(Moonshot)账号 使用手机号注册即可&#xff0c;新用户可免费…

oracle如何设计生成token给程序使用

在Oracle中设计生成token&#xff08;令牌&#xff09;供程序使用通常涉及几个步骤&#xff0c;这些步骤可能因您的具体需求和使用的技术栈而有所不同。以下是一个基本的指南&#xff0c;描述了如何设计并生成token&#xff1a; 确定token的用途和属性&#xff1a; 确定token…

【线程创建】——三种方式➕多线程案例练习

02 线程创建 Thread , Runnable , Callable 三种创建方式 Thread class - 继承Thread类 (重点) Runnable接口 - 实现Runnable接口 (重点) Callable接口 - 实现Callable接口 (了解) Thread 类实现 它继承了老祖宗 Object java.lang.Object java.lang.Thread 它实现了 Runnab…

文本到语音的学习笔记:从Docker开始

1.docker 是什么意思&#xff1f; Docker 是一种开源的容器化平台&#xff0c;它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中&#xff0c;然后可以在任何支持Docker的系统上运行这个应用&#xff0c;而不必担心环境差异导致的问题。 以下是Docker的一些关键特…

原子操作std::atomic

std::atomic是 C11 标准库提供的一个模板类&#xff0c;用于实现原子操作。原子操作是指不会被线程调度机制打断的操作&#xff0c;即这种操作一旦开始&#xff0c;就一直运行到结束&#xff0c;中间不会有任何线程切换。在多线程编程中&#xff0c;原子操作对于确保数据的一致…

EasyExcel 导出,保留两位小数并显示 千分位

实体类 属性类型为 BigDecimal 注解 NumberFormat("#,###.00") 试过了不顶用&#xff0c;原因不太清楚 值为 0.81 这种&#xff0c;导出后变为 .81 所以&#xff0c;换个思路&#xff0c;写个转换器&#xff0c;就是麻烦点 转换器 BigDecimalConvert import cn.h…

【go项目01_学习记录11】

操作数据库 1 文章列表2 删除文章 1 文章列表 &#xff08;1&#xff09;先保证文章已经有多篇&#xff0c;可以直接在数据库中添加&#xff0c;或者访问链接: localhost:3000/articles/create&#xff0c;增加几篇文章。 &#xff08;2&#xff09;之前设置好了articles.ind…

【Web后端】监听器Listener

1、简介 用来监听Servlet组件对象状态发生变化的组件可以监听的源包括:ServetRequest、HttpSession、ServletContext当监听到事件源状态发生变化时&#xff0c;会有对应的响应行为 2、使用方法 在web.xml文件中配置 <listener> <listener-class>com.coder.util.…