原创 理解JavaScript的核心知識點:原型

JavaScript 中的原型機制一直以來都被衆多開發者(包括本人)低估甚至忽視了,這是因爲絕大多數人沒有想要深刻理解這個機制的內涵,以及越來越多的開發者缺乏計算機編程相關的基礎知識。對於這樣的開發者來說 JavaScript 的原型機制是

原创 理解JavaScript的核心知識點:This

this 是 JavaScript 中非常重要且使用最廣的一個關鍵字,它的值指向了一個對象的引用。這個引用的結果非常容易引起開發者的誤判,所以必須對這個關鍵字刨根問底。 執行上下文:Execution Context 在深入瞭解 this

原创 理解JavaScript的核心知識點:作用域

關於作用域:About Scope 作用域是程序設計裏的基礎特性,是作用域使得程序運行時可以使用變量存儲值、記錄和改變程序的“狀態”。JavaScript 也毫不例外,但在 JavaScript 中作用域的特性與其他高級語言稍有不同,這是很

原创 Vue源碼探究-組件的持久活躍

Vue源碼探究-組件的持久活躍 *本篇代碼位於vue/src/core/components/keep-alive.js 較新版本的Vue增加了一個內置組件 keep-alive,用於存儲組件狀態,即便失活也能保持現有狀態不變,切換回來的時

原创 Vue源碼探究-全局API

Vue源碼探究-全局API 本篇代碼位於vue/src/core/global-api/ Vue暴露了一些全局API來強化功能開發,API的使用示例官網上都有說明,無需多言。這裏主要來看一下全局API模塊的實現。全局API的文件夾裏有一個入

原创 Vue源碼探究-虛擬DOM的渲染

Vue源碼探究-虛擬DOM的渲染 在虛擬節點的實現一篇中,除了知道了 VNode 類的實現之外,還簡要地整理了一下DOM渲染的路徑。在這一篇中,主要來分析一下兩條路徑的具體實現代碼。 按照創建 Vue 實例後的一般執行流程,首先來看看實例初

原创 Vue源碼探究-虛擬節點的實現

Vue源碼探究-虛擬節點的實現 頁面初始化的所有狀態都準備就緒之後,下一步就是要生成組件相應的虛擬節點—— VNode。初次進行組件初始化的時候,VNode 也會執行一次初始化並存儲這時創建好的虛擬節點對象。在隨後的生命週期中,組件內的數據

原创 Vue源碼探究-狀態初始化

Vue源碼探究-狀態初始化 本篇代碼位於vue/src/core/instance/state.js 繼續隨着核心類的初始化展開探索其他的模塊,這一篇來研究一下Vue的狀態初始化。這裏的狀態初始化指的就是在創建實例的時候,在配置對象裏定義的

原创 Vue源碼探究-數據綁定的實現

Vue源碼探究-數據綁定的實現 本篇代碼位於vue/src/core/observer/ 在總結完數據綁定實現的邏輯架構一篇後,已經對Vue的數據觀察系統的角色和各自的功能有了比較透徹的瞭解,這一篇繼續仔細分析下源碼的具體實現。 Obser

原创 Vue源碼探究-數據綁定邏輯架構

Vue源碼探究-數據綁定邏輯架構 數據觀察系統是Vue實現數據綁定、異步更新的核心模塊,數據觀察系統的實現也是Vue源碼裏最爲複雜的部分,在仔細研究具體實現之前,先對整個數據綁定的邏輯架構進行一個充分的認識,會更有助於解讀源碼。 先說明一下

原创 Vue源碼探究-事件系統

Vue源碼探究-事件系統 本篇代碼位於vue/src/core/instance/events.js 緊跟着生命週期之後的就是繼續初始化事件相關的屬性和方法。整個事件系統的代碼相對其他模塊來說非常簡短,分幾個部分來詳細看看它的具體實現。 頭

原创 Vue源碼探究-生命週期

Vue源碼探究-生命週期 本篇代碼位於vue/src/core/instance/lifecycle.js 初步探索完了核心類的實現之後,接下來就要開始深入到Vue實現的具體功能部分了。在所有的功能開始運行之前,要來理解一下Vue的生命週期

原创 Vue源碼探究-類初始化函數詳情

Vue源碼探究-類初始化函數詳情 隨着初始化函數的執行,實例的生命週期也開始運轉,在初始化函數裏可以看到每個模塊向實例集成的功能,這些功能的具體內容以後在單獨的文章裏繼續探索。現在來詳細看看類初始化函數的詳細代碼。 頭部引用 *下面代碼位於

原创 Vue源碼探究-核心類的實現

Vue源碼探究-核心類的實現 本篇源代碼所在路徑vue/src/core/instance/ 幾乎所有JS框架或插件的編寫都有一個類似的模式,即向全局輸出一個類或者說構造函數,通過創建實例來使用這個類的公開方法,或者使用類的靜態全局方法輔助

原创 Vue源碼探究-構建版本的區別

Vue源碼探究-構建版本的區別 基於第三方性能評估工具Benchmark的測評結果可以看出Vue 2.0版本在整體的性能上得到了大幅優化,即使與React和Angular最新版相比也相差無幾。在提供給使用者的構建版本方面,也進行了針對性的細