摘要:首先來看看什么是自定義事件讓函數能夠具備事件的某些特性。其實自定義事件在一些主流的類庫中都有實現,后續會分析具體的實現方法。今天,我們就先用簡單的例子來實現自定義事件的功能。 在團隊協作的很多情況下,某個js的函數會根據不斷增加的需求進而不斷增加功能,如果功能需求累積過多,我們就很難把控自己在這個函數中新定義的變量會不會覆蓋掉之前的定義。如: function action(){ ...
摘要:前端與狀態現在的前端開發中,對于狀態的管理是重中之重。有限狀態機那么如何更好的管理前端軟件的復雜度的狀態機思想給出了自己的答案。有限狀態機并不是一個復雜的概念簡單說,它有三個特征狀態總數是有限的。 前提 在現在的前端社區,關于MVVM、Model driven view 之類的概念,已經算是非常普及了。React/Vue 這類框架可以算是代表。而自己雖然有 React/Vue 的使用經...
摘要:與此相對,強類型語言的類型之間不一定有隱式轉換。三為什么是弱類型弱類型相對于強類型來說類型檢查更不嚴格,比如說允許變量類型的隱式轉換,允許強制類型轉換等等。在中,加性運算符有大量的特殊行為。 從++[[]][+[]]+[+[]]==10?深入淺出弱類型JS的隱式轉換 本文純屬原創? 如有雷同? 純屬抄襲? 不甚榮幸! 歡迎轉載! 原文收錄在【我的GitHub博客】,覺得本文寫的不算爛的...
摘要:也就是說,代碼隊列中僅能有一個間歇定時器在等待。這導致兩個問題,一是某些間隔會跳過,二是多個定時器的代碼之間的間隔可能比預期的小。 定時器:間歇調用和超時調用 超時調用:setTimeout(),接受兩個參數,第一個參數是可執行的JavaScript代碼字符串,或是回調函數,第二個參數是毫秒為單位的插入代碼隊列的的時間。清除方式:clearTimeout(),參數是設置setTimeo...
摘要:但是,二進制浮點數表示法并不能精確的表示類似這樣的簡單的數字,會有舍入誤差。對于保證浮點數計算的正確性,有兩種常見方式。 1、使用 typeof bar === object 判斷 bar 是不是一個對象有神馬潛在的弊端?如何避免這種弊端? 使用 typeof 的弊端是顯而易見的(這種弊端同使用 instanceof): let obj = {}; let arr = []; con...