最新要闻
- 【热闻】保时捷去年净赚499亿元:国人给力 中国连续八年为最大市场
- 打工几年就能买北京四合院?新剧《心想事成》开播引热议
- 男子辞职摆摊拍照 1月内激增14家同行 建议大家好好上班
- 快资讯丨Meta宣布再裁员上万人 连HR都裁了!扎克伯格给出理由
- 【世界新视野】韩国SBS电视台回应剪辑杨紫琼感言:未刻意针对女性
- 焦点报道:3月15日热股前瞻:7股突发利好
- 【天天热闻】315来临!消费者起诉东方甄选 官方:我们也被供应商骗了
- 环球即时看!网文连载十余年被网友举报 1万多章还没结尾:作者回应了
- 每日快看:2022年新能源汽车投诉量增长62.84%:行驶中突然熄火、漏油成热点
- 世界信息:高速免费!2023年清明节放假通知来了:1天假 不调休
- 每日看点!苹果为何不做电视?真实原因揭开
- 2023年安卓之光!小米13 Ultra曝光:支持可变光圈
- 刚刚,拜登最新表态!两大重磅降临,欧美多头集体沸腾!危机一闪而过?这家巨头突然"捅刀"
- 拒绝卡脖子 我国掌握量子计算核心技术:低温接近绝对零度
- 4家汽车公司明确不打价格战 定位豪华品牌:特斯拉比亚迪看笑
- 【独家焦点】预算3000元 找老鸟装了台12代U ITX小主机:这配置你看如何?
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
前端设计模式——命令模式
【资料图】
命令模式(Command Pattern):它允许你将操作封装成对象。这些对象包括了被调用的方法及其参数。这些命令对象可以被存储、传递和执行。
在前端开发中,命令模式可以被用于实现可撤销和重做的操作。例如,在一个文本编辑器中,可以使用命令模式来实现撤销和重做操作。对于每一个编辑操作,可以创建一个命令对象来表示这个操作,然后将这个命令对象存储在一个历史列表中。当需要撤销操作时,可以从历史列表中取出最近的命令对象并执行它的反向操作。
命令模式还可以被用于实现菜单和工具栏等用户界面元素。例如,可以创建一个菜单项对象来表示一个命令,并将这个对象添加到菜单中。当用户点击这个菜单项时,菜单项对象将执行对应的操作。
下面是一个简单的实现可撤销操作的例子:
// 定义一个命令对象class Command { constructor(receiver, args) { this.receiver = receiver; this.args = args; this.executed = false; } execute() { if (!this.executed) { this.receiver.execute(this.args); this.executed = true; } } undo() { if (this.executed) { this.receiver.undo(this.args); this.executed = false; } }}// 定义一个接收者对象class Receiver { constructor() { this.value = 0; } execute(args) { this.value += args; console.log(`执行操作,value = ${this.value}`); } undo(args) { this.value -= args; console.log(`撤销操作,value = ${this.value}`); }}// 创建一个接收者对象和一些命令对象const receiver = new Receiver();const command1 = new Command(receiver, 1);const command2 = new Command(receiver, 2);const command3 = new Command(receiver, 3);// 创建一个历史列表并将命令对象添加到其中const history = [command1, command2, command3];// 依次执行命令对象history.forEach((command) => { command.execute();});// 撤销最后一个操作history.pop().undo(); // 撤销操作,value = 3
在这个例子中,`Command` 类表示一个命令对象,它包含了一个接收者对象、命令参数以及一个 `executed` 属性,用于标记命令是否已经被执行过。`Receiver` 类表示接收者对象,它实现了具体的操作。在这个例子中,命令对象执行的操作是将 `args` 参数加到 `Receiver` 对象的 `value` 属性上。命令对象的 `execute` 和 `undo` 方法分别执行和撤销这个操作,并通过 `executed` 属性来避免重复执行操作。
在实际的前端开发中,命令模式的应用还有很多,比如实现动画效果的控制器、网络请求的队列等。命令模式可以让代码更加灵活和可扩展,同时也可以更好地实现代码的解耦。
关键词:
-
项目构建node-sass源码报错 SyntaxError:Unexpectedtoken"?"
背景vue2项目,之前一直构建正常。今天改了代码,构建时报错,报错原因显示编译node-sass源码时出错。报...
来源: 项目构建node-sass源码报错 SyntaxError:Unexpectedtoken"?"
前端设计模式——命令模式
【热闻】保时捷去年净赚499亿元:国人给力 中国连续八年为最大市场
打工几年就能买北京四合院?新剧《心想事成》开播引热议
男子辞职摆摊拍照 1月内激增14家同行 建议大家好好上班
快资讯丨Meta宣布再裁员上万人 连HR都裁了!扎克伯格给出理由
【世界新视野】韩国SBS电视台回应剪辑杨紫琼感言:未刻意针对女性
焦点报道:3月15日热股前瞻:7股突发利好
今日报丨建议收藏chatGPT说的Ubuntu下常用网络命令合集
【天天热闻】315来临!消费者起诉东方甄选 官方:我们也被供应商骗了
环球即时看!网文连载十余年被网友举报 1万多章还没结尾:作者回应了
每日快看:2022年新能源汽车投诉量增长62.84%:行驶中突然熄火、漏油成热点
世界信息:高速免费!2023年清明节放假通知来了:1天假 不调休
每日看点!苹果为何不做电视?真实原因揭开
2023年安卓之光!小米13 Ultra曝光:支持可变光圈
读Java性能权威指南(第2版)笔记17_垃圾回收D
刚刚,拜登最新表态!两大重磅降临,欧美多头集体沸腾!危机一闪而过?这家巨头突然"捅刀"
拒绝卡脖子 我国掌握量子计算核心技术:低温接近绝对零度
4家汽车公司明确不打价格战 定位豪华品牌:特斯拉比亚迪看笑
如何用好免费的chatGPT
全球观焦点:算法模板总结 1
【独家焦点】预算3000元 找老鸟装了台12代U ITX小主机:这配置你看如何?
天天视讯!AMD最强核显跑分逆天!竟然逼平GTX 1650、RX 480
热点在线丨女演员被困五星级酒店厕所超3小时!酒店回应:属于特例
头条焦点:《速度与激情10》新海报发布:范迪塞尔携众家人再度狂飙
深圳带奶茶跑腿回港火了:一趟就能赚数百元
丙二醇的功效_丙二醇的功效与作用
今日热讯:《consul 简易上手指南》
每日简讯:《碟中谍7:致命清算》首张海报:阿汤哥悬崖飞车冲上云霄!
【快播报】CPU突然变慢、Adobe异常崩溃:NVIDIA终于出手
【天天播资讯】动物园棕熊能懂人话 被质疑是人假扮:回应确实是真熊
第三十一天 面向对象编程的基础
每日观点:c++11多线程入门<学习记录>
当前通讯!day03-分析SpringBoot底层机制
关于AWS-S3-Bucket-Console-Web控制页面上的Creation date与命令行-API方式如何获取到真正的CreationDate
天天速看:深圳居住登记信息服务_深圳市居住登记服务平台
焦点播报:游客为拍照不听劝阻喂狐狸吃面包 无视劝阻!会危害动物
Vue——mergeOptions【四】
播报:院线票房止步9000万:《中国乒乓》官宣3月17日登陆线上平台
华硕发布新款迷你主机:高配i7-13700H、配备雷电4
环球热点评!.NET中比肩System.Text.Json序列化反序列化组件MessagePack
路飞-项目上线
今亮点!分布式架构-可观测性-事件日志
【全球热闻】教你用Python画个可爱的皮卡丘!(附完整源码)
每日资讯:Educational Codeforces Round 123 (Rated for Div. 2)
网传梅西要来 黄牛提前卖票!阿根廷国家足球队辟谣“中国行”
【新要闻】315白皮书:价格刺客成消费者年度最关注现象、购物平台为年度被投诉最多行业
环球时讯:西安机场为首次坐飞机旅客安排指引服务:佩戴专属手环 全程有人引导
速度10倍于普通U盘!联想小新原厂颗粒固态U盘发售:USB 3.2双口
12万买C6?想多了!雪铁龙都是套路:想提车先交29万
记录--你不知道的forEach函数
智能勘探 | AIRIOT智慧油田管理解决方案
环球聚焦:NOI春季测试游记
微贺卡
《黑暗荣耀2》热播!演员透露拍摄细节:剧里的蛇是真蛇
82版《西游记》编剧戴英禄逝世 六小龄童发文悼念
当前关注:理想汽车L8首批车主调研:300名中车主开BBA的最多
环球播报:国产车崛起 豪华车丝毫不怂:市场份额继续增 有钱人多
最新资讯:努比亚Z50 Ultra首销卖爆:获京东/天猫平台销量销售额冠军
报道:第一章 软件工程概述
每日看点!centos7.9离线升级openssl和openssh9.2
python语言基础
每日焦点!Mysql数据库未添加索引引发的生产事故
对极几何的理解和原理推导
卡塔尔世界杯官方授权:富光1.5L顿顿桶29元发车
焦点精选!零碳排放!我国首款双源智能重卡成功下线:自带大辫子
视焦点讯!全球打广告最划算的一块屏?登上纽约时代广场屏幕只需40美元
《狂飙》后 张译宣传新剧《他是谁》:今晚优酷、央视开播
获赔近100万 报废奔驰翻新再销售被判退1赔3 网友:C级秒变大S
每日快讯!10Wqps 超高并发 API网关 架构演进之路
Egg.js 学习笔记01
世界快看:git提交规范
【全球速看料】早起、冥想、阅读、写作、运动
焦点讯息:观察者模式——学习笔记
天天最新:dnf游戏闪退怎么解决方法_dnf游戏闪退
停车场闸机防骗能力太弱鸡:博主实测一部手机、一张纸均可通行
曾模仿东方甄选直播带货 好未来旗下学而思大规模重启线下招生
白皮书:购物平台为2022年度消费者投诉最多的行业
天天播报:315前海鲜加工厂的狠活被曝光:硼砂泡出黄金鲍 系明令禁止食品添加剂
世界焦点!两只售价3899元:华硕ROG推出魔方幻路由器月曜白限定版
卷起来!!!看了这篇文章我才知道MySQL事务&MVCC到底是啥?
蓝牙Mesh简介(一)设备标识:UUID和Mesh地址
开源免费:分享powershell读写k8s的etcd的脚本库
环球速递!冲击全球的“硅谷银行破产”到底咋回事?会不会引爆危机?
视点!国产AYA新掌机Ayaneo 2 IGN9分好评:价格贵 但很好用!
【聚看点】央视3·15晚会官宣明晚举办 这次谁会被曝光?
世界最资讯丨配置大升级!新款比亚迪唐DM-i/汉EV冰川蓝实车亮相:绝对吸睛
上海测试9辆自动驾驶清扫车 可替代25名环卫工人
干货来袭!3天0基础Python实战项目快速学会人工智能必学数学基础全套(含源码)(第3天)概率分析篇:条件概率、全概率与贝叶斯公式
韩国电视台剪掉杨紫琼获奖感言:鼓励女性部分没了
腾讯会议重大调整!取消免费300人不限时会议使用
世界看热讯:斥资10亿美元!NASA将开发太空拖船:实现国际空间站受控坠落
那些曾被315点过名的品牌怎么样了?英菲尼迪道歉并更换变速箱 汉堡王被罚
实时焦点:车圈大V杨学良晒魅族20 Pro真机:极简设计 好看又好用!
与微软聊天机器人对话
Vue项目迁移小程序,实操干货分享
戴尔PC要100%离开中国!完整时间表曝光:真着急
天天微资讯!韩媒称特斯拉停止与比亚迪合作 马斯克:虚假报道、双方关系积极
魔兽世界将推出全新硬核玩法:一命通关、挂了就得重来
ai文件怎么打开?ai文件用什么软件打开和编辑?