天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

前端開發中使用”有限狀態機“解決復雜的交互問題

  前端開發是有邏輯的,這點毋庸置疑。程序員的思維邏輯賦予了代碼各種能力,但是前端開發中經常面對的是用戶的操作。在一個比較復雜的頁面中(貌似現在也很少有簡單頁面了),用戶的操作是不可預見的,假如有很多按鈕,每個按鈕都會做一件自己獨一無二的事,如果上帝保佑所有的這些操作,這些事件都彼此沒有限制,而且結果互不影響,那沒有問題。但在開發中好像沒有這種好運氣,所以經常需要協調和平衡這些函數之間的執行。

  如果你使用的是純JS或者單獨僅有jQuery的情況下,遇到這種讓人焦頭爛額的情形會尤為明顯,前端MVC一定程度上隱藏了并處理了這些問題,但是也并不完全。這個時候你可能需要了解一下關于”有限狀態機“的概念,前端開發中這應該是一個很有用的東西。

  描述一下”有限狀態機“:

有限狀態自動機,簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型。

狀態總數(state)是有限的。

任一時刻,只會處于一種狀態中。

在某種條件下,會從一種狀態轉變到另一種狀態中。

在維基百科中稱:有限狀態機FSM是設計和實現事件驅動程序內復雜行為組織原則的有力工具。

  對于前端來說,尤其是Javascript編程時,這個模型的意義就在于可以將其套用在很多對象上。具體個例子,比如一個按鈕平時就是正常的按鈕,當你點擊后變成一個input。當然你可能會說這么簡單的功能,我直接用jQuery甚至不用都可以,操作DOM顯示和隱藏就好了。如果你還抱有這種天真的想法,我只能說你沒遇到過讓你痛不欲生的頁面。。。當頁面復雜到一定程度,單純操作DOM去處理前端只會加快你瘋掉的進程。

  這里對于Button套用有限狀態機的模型,相當btn對象只有兩個狀態,顯示狀態和編輯狀態。看看代碼吧:

var btn = {    // 當前狀態    currentState: 'btn',    // 綁定事件    initialize: function() {      var self = this;      self.on("click", self.transition);    },    // 狀態轉換    transition: function(event){      switch(this.currentState) {        case "btn":          this.currentState = 'input';          doSomething();          break;        case "input":          this.currentState = 'btn';          doSomething();          break;        default:          console.log('Invalid State!');          break;      }    }   };  

it知識庫前端開發中使用”有限狀態機“解決復雜的交互問題,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲AV久久久噜噜噜噜 | 99精品热视频30在线热视频 | 全黄H全肉细节文短篇 | 动漫AV纯肉无码AV电影网 | 久久永久视频 | 亚洲综合春色另类久久 | 日产精品高潮呻吟AV久久 | 男女午夜性爽快免费视频不卡 | 午夜精品久久久久久99热蜜桃 | 女人操男人 | 精品无码日本蜜桃麻豆 | 无遮掩H黄纯肉动漫在线观看星 | 久久久久青草大香线综合精品 | 中文字幕在线观看亚洲日韩 | 甜性涩爱全集在线观看 | 野花韩国高清完整版在线观看5 | 天天影视香色欲综合网 | 恋夜影院安卓免费列表uc | 99久久99久久精品 | 欧美乱妇狂野欧美在线视频 | 国模大胆一区二区三区 | 黄网址在线观看 | 色网址在线观看 | 人妻夜夜爽天天爽三区麻豆AV网站 | 97碰成视频免费 | 国产精品久久久久久久人人看 | 亚洲成AV人片一区二区不卡 | 亚洲国产成人精品久久久久 | 久久AV亚洲精品一区无码网 | 免费人成视频19674不收费 | 亚洲AV久久无码精品国产网站 | 91精品国产高清久久久久久 | 久久精品亚洲AV中文2区金莲 | 樱花草在线观看影院 | 国产盗摄TP摄像头偷窥 | hd性欧美俱乐部中文 | 伊伊人成亚洲综合人网 | 日韩欧美亚洲精品综合在线 | 亚洲欧美国产综合在线一区 | 欧美人禽Zozo动人物杂交 | 宝贝乖女好紧好深好爽老师 |