這次帶給大家JS設計模式之指令模式詳解,使用JS指令模式詳解的注意事項有哪些,以下就是實戰案例,一起來看一下。
概念
命令模式用於將一個請求封裝成一個對象,從而可以用不同的參數對客戶進行參數化,該模式將函數的調用請求和操作封裝成一個單一的對象,然後對這個物件進行單一的處理,簡而言之分為三個物件:
1.發起者:發出呼叫命令即可,具體如何執行,誰來執行並不清楚。
2.接收者:有對應的介面處理不同的指令,至於指令是什麼,誰發出的,這不重要。
3.命令對象:上面我們說過,我們將發起者和接受者分開了,而這需要這個橋樑鏈接起來,這就是命令對象,命令對象接受發送者的調用,=然後調用接受者的相應接口。
作用以及注意事項
作用:
1.將封裝、請求、呼叫結合為一體。
2.提高程式模組化的彈性。
注意事項:
不需要藉口一致,直接呼叫函數即可,以免造成浪費。
實例
// 发送者 var setCommond = function(button, fn) { button.onClick = function() { fn() } }; // 执行命令者 var menu = { reFresh: function() { console.log("刷新"); }, add: function() { console.log("增加"); }, delete: function() { console.log("删除"); } }; // 命令对象 var commondObj = function(reciver) { return function() { reciver.reFresh(); } }; var commondObj1 = commondObj(menu); setCommond(btn1, commondObj1);
發送者(setCommond):不關心給哪個button,以及綁定什麼事件,只要透過參數傳入就好。
指令物件(commondObj):只需要接收到接受者的參數,當發送者發出指令時,執行就好。
接受者(menu):不用關心在哪裡被調用被誰調用,只需要按需執行就好了。
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是JS設計模式之命令模式詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器