摘要:的異步函數不會馬上執行,而是先注冊監聽,等到事件觸發了,就將這個回調函數壓入事件隊列中,等待順序運行的任務隊列空了以后,再執行事件隊列中的函數。
第五章 語法
{…}一個代碼塊會返回最后一個語句的結果值,可以用eval()去獲得(不建議),{}在不同情況下意思不同,可以是語句塊、對象常量、解構賦值或者命名函數參數,在代碼塊中有一個坑,{}+[]//0,{}是一個空執行塊(不執行任何操作),最后+[]將[]強制類型轉換為0。[]+{}//”[object object]”。Switch中的判斷是一個嚴格相等的判斷,這個一不注意就會出錯。
在“&&”和“||”的判斷中,前者的優先級高于后者的優先級,而且a&&b里,若a為假值,會返回a的值而不會再往下判斷,而a||b里,若a為真值,會返回a的值而不會再往下判斷。
第二部分 異步與性能
第一章 異步:現在與未來
JS是一門異步單線程語言,這是為了在用戶交互時不會出現假死情況,優化用戶體驗。沒有了并行就少了很多繁瑣的狀態,而利用異步編程模擬并發又可以讓js效率提高,js有現在執行的函數,也有未來執行的函數。js的異步函數不會馬上執行,而是先注冊監聽,等到事件觸發了,就將這個回調函數壓入事件隊列中,等待順序運行的任務隊列空了以后,再執行事件隊列中的函數。
第二章 回調
我們人類的大腦都適應了順序的做每一個動作,所以可以看做類似于單線程運行的事件循環隊列,就像js引擎一樣。由于異步編程,一不小心js就容易形成回調地獄,而且回調中缺乏順序性和可信任性容易造成控制反轉,回調函數是js異步的基本單元,可是隨著業務的發展和推進,復雜度越來越高,因此需要一種更同步、更順序、更阻塞的方式來表達異步。
第三章 Promise
Promise提供了一種解決方式去處理現在值和未來值,每次執行promise的返回值都是一個promise對象,這樣就意味著我們可以鏈式去調用,它有三種狀態,狀態只能改變一次,之后就不能再改變。Promise有三種狀態決議,完成和拒絕,Promise對象可以傳入兩個參數resolve和reject,分別會調用兩個函數,決議和拒絕函數。
第四章 生成器
在es6中提出了生成器generator的概念,這意味著代碼可以在運行期間被暫停,然后等待命令繼續往下執行,這種交替的暫停和恢復是合作性的而不是搶占性的。Function *foo(){},這就是一個生成器的聲明,在函數里如果碰到了yield就會暫停執行,然后我們可以用next()去命令它往下運行,其中還能傳參數,參數由對應位置的yield接收,而要啟動生成器,我們首先得執行一次next()第一個next傳任何參數都會被默認視為undefined,next()還包含了一個value屬性,儲存的是下一個位置的yield的值。生成器的優點就在于其內部的代碼以自然的同步(順序)方式表達任務的一系列步驟,為異步代碼保持了順序、同步、阻塞的代碼模式。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93468.html
摘要:給百度百科給的環比定義為環比,統計學術語,是表示連續個統計周期比如連續兩月內的量的變化比。二你所不知道的同比環比兩種方式的核心區別判斷兩個數據到底是同比還是環比。 ...
摘要:已經逐漸替代被全世界的開發者廣泛使用。函數將一個對象轉換成文本化的。不能被文本化的屬性會被忽略。和例外情況在數組中,不可被的元素用填充。自從年雙十一正式上線,累計處理了億錯誤事件,得到了金山軟件等眾多知名用戶的認可。 譯者按: 老司機們,你知道JSON.stringify還有第二個和第三個可選參數嗎?它們是什么呢? 原文: What you didn’t know about JSO...
摘要:請注意是創建一個全局對象的屬性,而不是聲明了一個全局變量。由于變量聲明自帶不可刪除屬性,比較跟,前者是變量聲明,帶不可刪除屬性,因此無法被刪除后者為全局變量的一個屬性,因此可以從全局變量中刪除。下期預告前端面試你所不知道系列偽類和偽元素 寫在開始 又到了一年的伊始,很多人可能因為各種原因想換一份工作,而找工作難免遇到各種各樣頭痛的面試題,于是我打算寫一個系列,關于面試中最常見或者前端一...
摘要:對象與屬性讓我們保持耐心,再梳理一下對象與屬性的關系對象是屬性的集合,當對象的屬性是函數時,我們將其稱之為方法。 這篇博文的主要目的是為了填坑,很久之前我發表了一篇名為關于JavaScript對象中的一切(一) — 對象屬性的文章,想要談一談JavaScript對象,可那時只是貼了一張關于這個主題的思維導圖,今天我會針對這一主題進行展開,將JavaScript對象一些平常不太常用的知識...
閱讀 2628·2021-11-19 09:56
閱讀 874·2021-09-24 10:25
閱讀 1632·2021-09-09 09:34
閱讀 2195·2021-09-09 09:33
閱讀 1052·2019-08-30 15:54
閱讀 542·2019-08-29 18:33
閱讀 1264·2019-08-29 17:19
閱讀 505·2019-08-29 14:19