当前位置: 首页 > news >正文

JS 自测题 —— 手写 class

现有三种菜单:button 类型,select 类型,modal 类型。

  • 共同特点
    • title icon 属性
    • isDisabled 方法(可直接返回 false)
    • exec 方法,执行菜单的逻辑
  • 不同
    • button 类型,执行 exec 时打印 'hello'
    • select 类型,执行 exec 时返回一个数组 ['item1', 'item2', 'item3']
    • modal 类型,执行 exec 时返回一个 DOM Element <div>modal</div>

用 ES6 语法写出这三种菜单的 class

参考答案

class BaseMenu {constructor(title, icon) {this.title = titlethis.icon = icon}isDisabled() {return false}
}class ButtonMenu extends BaseMenu {constructor(title, icon) {super(title, icon)}exec() {console.log('hello')}
}class SelectMenu extends BaseMenu {constructor(title, icon) {super(title, icon)}exec() {return ['item1', 'item2', 'item3']}
}class ModalMenu extends BaseMenu {constructor(title, icon) {super(title, icon)}exec() {const div = document.createElement('div')div.innerText = 'modal'return div}
}
http://www.lryc.cn/news/362305.html

相关文章:

  • Keras深度学习框架实战(7):使用YOLOV8和KerasCV进行高效的图像物体识别
  • Django视图层探索:GET/POST请求处理、参数传递与响应方式详解
  • 磁盘配额的具体操作
  • STM 32_HAL_SDIO_SD卡
  • 人脸识别系统之动态人脸识别
  • Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
  • LabVIEW在高校电力电子实验中的应用
  • rtsp python实现
  • RHCE (Linux进阶) Ubuntu 操作系统安装教程
  • vue-router 源码分析——1. 路由匹配
  • 百度云下载不限速方式集合
  • 2024年6月1日 (周六) 叶子游戏新闻
  • MathorCup挑战赛获奖名单公示,第九届研讨会及颁奖典礼即将举行
  • vulnhub靶机xptosystem
  • Spring Boot详解:深入了解与实践
  • FreeRtos进阶——中断的内部逻辑
  • Centos7对比Ubuntu一些常用操作差异点
  • 24、matlab二维和三维网格(meshgrid函数)以及散点数据插值 griddata()函数
  • Codeforces Round 950 (Div. 3)
  • 弘君资本炒股开户:如何看待股价波动?
  • 操作系统实验六 文件系统验证实验
  • python中的循环控制语句break与continue
  • C语言笔记23 •文件操作•
  • 新项目来了,JDK 17和JDK 21 该如何选择?
  • 友顺科技(UTC)分立器件与集成IC产品选型和应用
  • 并发与多线程:创建多个线程,数据共享
  • 【机器学习数据挖掘】基于ARIMA 自回归积分滑动平均模型的销售价格库存分析报告 附完整python代码
  • LightGBM 进行回归建模的流程
  • 【Linux】多进程基础--信号
  • 若依项目部署(Linux2.0)