摘要:換個說法微任務優先于當前調用棧產生的宏任務被執行如果能理解下面這段代碼的執行過程應該就基本理解任務隊列的執行過程了輸出順序為,,,,,, 這篇文章是我自己的一個學習總結,并不是非常詳細,結合給出的鏈接可以有更細致的認識 先介紹幾個概念,便于理解 關于堆和棧(作為內存區域來說) 堆(heap):存放object、array、function等不確定內存大小的數據存儲; 棧(stac...
摘要:聲明是模仿面向對象語言提出的定義類的方法。抽象類的基本原則是在內存中只有基類成員的一份拷貝。但是面向對象設計要求我們把共性放在一起以減少代碼,因此就有了抽象類。 class聲明 class 是 ES6 模仿面向對象語言(C++, Java)提出的定義類的方法。形式類似 C++ 和 Java (各取所長), 下面例子展示了 class 是如何定義構造函數、對象屬性和對象動/靜態方法的: ...
摘要:用實現職責鏈這里使用變量存儲上一個函數,存儲的是最后一個調用返回的函數。理解了過程也就會知道這句代碼是為后面的函數準備的建議如果某塊功能中存在大量的可以考慮使用職責鏈模式 職責鏈模式 1. 職責鏈定義 使多個對象都有機會處理請求,從而避免請求的發送者和接受者之間的耦合關系,將對象連成一條鏈,并沿著這個鏈傳遞該請求,直到有一個對象處理它為止 2.職責鏈優點 請求發送者只需要知道鏈中的第一...
摘要:冒泡排序原理冒泡排序的過程就是將數組中相鄰的兩個元素進行比較,如果前面的元素比后面的元素要大交換位置,否則位置不變舉個栗子有數組第一輪循環和比較,小于兩者位置不變,接下來和比較,大于,兩者交換位置,接著和比較,兩者交換位置,繼續和比較兩者交 1.冒泡排序 原理:冒泡排序的過程就是將數組中相鄰的兩個元素進行比較,如果前面的元素比后面的元素要大交換位置,否則位置不變;舉個栗子:有數組 ar...
摘要:的分號是可省略的,因為會自動填補分號,但只有在遇到因為省略分號而無法解析的語句時,才會自動填補分號。例如有兩種情況例外后接換行號會填補分號。例如建議加分號的原因避免代碼執行效果不如意。可以提高性能,因為解析器不用花時間去推測哪里應該加分號。 JavaScript 的分號是可省略的,因為 JavaScript 會自動填補分號,但只有在 JavaScript 遇到因為省略分號而無法解析的語...