原创 深入理解瀏覽器垃圾回收機制(V8)

文章目錄棧堆堆的垃圾回收優化效率 棧 定義 棧用來在函數執行時存儲保存執行上下文環境,我們一般也稱調用棧,如基本類型的變量,引用類型的引用地址等都保存在棧中。執行到當前函數時進行入棧,執行完畢進行出棧。 回收方式 有一個記錄當前

原创 css層疊上下文和層疊水平

頁面中當元素髮生層疊時如何顯示。爲何有的元素明明寫在後面卻被前者覆蓋住了?爲何z-index設置很大了,還是不顯示?這些涉及到css中的層疊上下文,層疊水平等 層疊上下文 類似塊級格式化上下文,是一個封閉的空間,用來限制內部元

原创 Vue實例化過程

參考: Vue原理解析

原创 Vue相關開源項目庫集合

git地址:https://github.com/opendigg/awesome-github-vue/blob/master/README.md

原创 一文搞定babel轉換

babel轉換流程 code轉換爲AST => 遍歷AST樹、進行修改 => 還原爲code babel結構 @babel/core AST轉換的核心 @babel/cli 打包工具 @babel/plugin* B

原创 Vue組件文檔自動化生成庫

一個可以提供自動化文檔的生成,並提供組件預覽,這個庫叫做 Vue Styleguidist 使用參考 使用Vue Styleguidist編寫組件文檔

原创 記一次web性能優化實戰

效果展示 優化前 優化後 可以看到優化前有明顯的延遲,詳細信息纔出現。優化後詳細信息基本秒現。 問題分析 出現數據顯示有明顯的延時的情況,我們分析大方向可能有 接口緩慢 網絡問題 前端問題 渲染問題:渲染節點過

原创 強類型轉換

字符串與數字的隱式強類型轉換 ES5規範11.6.1節,如果某操作數是字符串或者能夠通過以下步驟轉換爲字符串的話,+將進行拼接操作。 如果其中一個操作數爲對象(包括數組),則先調用ToPrimitive抽象操作,該操作在調用[[

原创 使用vue-cli3搭建typescript移動端

安裝vuecli3 npm install -g @vue/cli # OR yarn global add @vue/cli 創建項目 vue create project-typescript 手動選擇特性 選擇babe

原创 面向切面編程

面向切面編程也稱AOP,主要作用是將與核心業務邏輯無關的功能抽離出來,以動態織入的方式摻入業務邏輯模塊中。如日誌記錄功能等。可以保持業務邏輯的純淨,高內聚性;便於複用日誌模塊等 裝飾器模式 給對象動態添加職責(即用即付)的方

原创 vue中編寫通過方法調用的組件

我們經常會看到this.$toast(‘消息提示’) 這樣的用法 通過函數調用的組件,常見的toast提示框,loading等。 創建文件 目錄結構 |---loading |---Loading.vue |-

原创 前端單元測試

文章目錄測試類型unit測試E2E 測試單元測試原因vue項目中進行單元測試安裝環境編寫測試用例結論 測試類型 unit測試 主要對組件進行測試。 數據的有效性測試 關注組件本身。 vue 單元測試的範圍僅限

原创 js運行流程

js引擎處理js的過程同傳統編譯語言的代碼編譯大致相同 文章目錄流程預編譯階段聲明提升let、const阻止提升的原因LHS與RHS查找類型 流程 步驟 傳統編譯語言 JS引擎 1 詞法/語法分析 詞/語法分析

原创 weex、ReactNative

weex Weex .we 文件 --------------前端(we源碼) ↓ (轉換) -------------------前端(構建過程) JS Bundle -----------------前端(JS Bundle代