首页 > 编程语言 >JavaScript 中的混入

JavaScript 中的混入

时间:2022-09-18 02:22:21浏览次数:123  
标签:混入 创建 JavaScript 实例 声明 mixin 方法

JavaScript 中的混入

Photo by 阿列克谢·鲁班 on 不飞溅

介绍

在继承中,大多数编程语言不支持多级继承,这意味着您不能为特定类拥有多个父级。 Javascript 也不支持多级继承,因此在安排代码库时会有一些障碍。

例如,假设我们有一个 男人 类及其父类是 现在有一个定义的关系但是如果你有一个实用程序类 授权 既不相关 或者 男人 类,那么什么是更好的使用方法 授权 男人 班级?

有很多方法可以解决问题

  • 依赖注入
  • 创建单独的实用程序并在方法中传递值
  • 创造 男人 实例来自 授权 班级

我们将在本文中使用方法三,我们将使用 mixin 作为所有三个类之间的虚拟关系

什么是混音?

Mixin 是一个更高级别的函数或类声明,它具有可以抽象为任何子对象(类或对象)的内部方法和属性

创建一个 Mixin

有两种方法可以创建 mixin

  • 对象声明
  • 类声明

对象声明

我们可以创建一个具有方法和属性的对象,并使用它来更新任何现有类的原型以附加

We created a mixin that will be prototyped to Person class instance and we will be using its methods

Object-based mixin

我们创建了一个 mixin,它将管理授权并将其附加到其原型上的 person 类,并且可以从 person 实例中访问它

类声明

要创建一个类 mixin,我们需要为任何子级类创建一个父类,在我们的示例中,我们需要同时创建 Person 和 Man 类,并从虚拟 Person 类扩展 Man

We created a virtual class that will act as a mixin and extend the virtual class for our child class

class-based mixin

当您在图片中有继承并且可以将属性添加为类自己时,这种类型的声明很有帮助

两种mixin的区别

两种 mixin 之间的主要区别在于何时何地使用它们。当您可以使用一些常用方法并且希望将其附加到任何现有类中时,基于对象的混合是一个更好的选择

另一方面,当您从任何抽象类创建子类时,基于类的混入很好

结论

Mixin 通常适用于辅助方法而不是实际的实例方法,如果您的应用程序有实例方法,那么我建议不要创建 mixin,而是创建类。

你可以找到源代码 这里 .快乐编码!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/37366/14121802

标签:混入,创建,JavaScript,实例,声明,mixin,方法
From: https://www.cnblogs.com/amboke/p/16704080.html

相关文章

  • 简单的 JavaScript 数字格式化方法
    简单的JavaScript数字格式化方法每个大型社交媒体网站都以与93.1K追随者、100万订阅者或2.5B浏览量相同的方式格式化他们的数字,他们这样做是因为用紧凑的数字设计......
  • 在 JavaScript 中从数组中删除空值
    在JavaScript中从数组中删除空值下面介绍如何在JavaScript中从数组中删除空值。我将向您展示两种方法,第一种使用纯JavaScript和数组过滤器方法,第二种使用Lodash。......
  • javascript第一天
    JavaScript基础-第1天了解变量、数据类型、运算符等基础概念,能够实现数据类型的转换,结合四则运算体会如何编程。体会现实世界中的事物与计算机的关系理解什么是数......
  • javascript 过滤字符串中script并且替换掉 xss注入攻击+js调试
    最近发现网上找答案也是80%类似结果。js调试可以在浏览器里,f10,f11可以比较准确。functionscriptReplace(str){if(newRegExp(".*?script[^>]*?.*?(<\/.*?sc......
  • Javascript 设置数据结构
    Javascript设置数据结构Photoby潘卡伊·帕特尔on不飞溅你好,我一直想详细研究ES6数据类型很久了,但是一直找不到太多时间工作,但现在是时候了。我从Set开始,希望能......
  • JavaScript框架大战已结束,赢家只有一个
    投递人 itwriter 发布于2022-09-0323:44 评论(0) 有2143人阅读 原文链接 [收藏] « »框架之战是JavaScript社区中的热门话题,也是业界众多圣战之一。......
  • 阿卡佩拉 |用 Javascript 制作 |反应 JS
    阿卡佩拉|用Javascript制作|反应JS阿卡佩拉|用Javascript制作|反应JSAcapela可让您控制通知。从一个地方捕获、过滤和操作它们。以两倍的速度解锁您的团队......
  • 你需要了解多少 Javascript 才能开始使用 React?
    你需要了解多少Javascript才能开始使用React?1.Javascript基础一个。使用var、let和const进行变量声明湾。算术、比较、逻辑运算符C。条件块和循环:if、for、f......
  • 如何用 JavaScript 编写游戏
    如何用JavaScript编写游戏今天的浏览器允许您创建具有完整图形的游戏。以下是使用JavaScript和HTML5编写简单赛车游戏的方法。浏览器现在为JavaScript开发人员提......
  • 学习现代 JavaScript (ES6+) 的基础知识
    学习现代JavaScript(ES6+)的基础知识您应该在代码中开始使用的10个现代功能您可能已经知道JavaScript是一种功能丰富的编程语言,每次更新都会不断增强。有很多事......