原创 Vue 的響應式原理及源碼分析

回顧Vue的生命週期詳解,在調用_init方法初始化Vue實例時,其中一步是調用initState(vm)初始化一些狀態(props、data、computed、watch、methods),其中initData(vm)用於初始化data:

原创 事件循環與 Vue 的 nextTick

事件循環 js 語言是單線程的,爲了協調事件、腳本、用戶交互、UI 渲染和網絡請求(events, scripts, user interaction, rendering, networking)等行爲,防止主線程阻塞,js 引入了事件循

原创 Vue 生命週期詳解

Vue 生命週期詳解 Vue 生命週期流程 最開始,用戶使用 new Vue() 創建根 Vue 實例,或者 Vue 實例化子組件都會調用_init方法(我們將這兩種實例都稱爲vm): function Vue(options) {

原创 js 處理異步操作的幾種方式

概論 由於 JavaScript 是一門單線程執行的語言,所以在我們處理耗時較長的任務時,異步編程就顯得尤爲重要。js 處理異步操作最傳統的方式是回調函數,基本上所有的異步操作都可以用回調函數來處理;爲了使代碼更優雅,人們又想到了用事件監聽

原创 Promise——從閱讀文檔到簡單實現(二)

前言 按照文檔說明簡單地實現 ES6 Promise的各個方法並不難,但是Promise的一些特殊需求實現起來並不簡單,我首先提出一些不好實現或者容易忽略的需求: 數據傳遞 回調綁定 將回調變成 microtask 實現 then/fin

原创 Promise——從閱讀文檔到簡單實現(一)

前言 最近幾周參加筆試面試,總是會遇到實現異步和處理異步的問題,然而作者每次都無法完美地回答。在最近一次筆試因爲 Promise 而被刷掉後,我終於下定決心一個個地搞懂它們,就先拿 Promise 開刀吧 :)。 用法解析 ES6 的Pro