原创 徹底搞清楚JS瀏覽器事件循環機制

一、概述 在分析瀏覽器的渲染過程之前,我們先了解一下什麼是進程和線程: (1)什麼是進程? 進程是CPU進行資源分配的基本單位 (2)什麼是線程? 線程是CPU調度的最小單位,是建立在進程的基礎上運行的單位,共享進程的內存空間。

原创 shouldComponentUpdate 的作用

來自React官方文檔 這是一個組件的子樹。每個節點中,SCU 代表 shouldComponentUpdate 返回的值,而 vDOMEq 代表返回的 React 元素是否相同。最後,圓圈的顏色代表了該組件是否需要被調停。

原创 useState用法指南

useState const [state, setState] = useState(initialState); 返回一個 state,以及更新 state 的函數。 在初始渲染期間,返回的狀態 (state) 與傳入的第一

原创 如何清除浮動

css代碼如下 <div>開始</div> <div class="parent"> <div class="first"> </div> </div> <div class=

原创 棧知識的應用

棧的特點:先進後出 常見問題: 數制間的相互轉換 1.最高位爲n%b將此壓入棧中 2.使用n/b向下取整替換掉n 3.重複1和2,直到n=0,而且沒有餘數了 4重複將棧裏面的元素彈出 function mulBase(nu

原创 實現(10).add(10).add(10)

題目來源:快手面試題 Number.prototype.add = function (a) { let value = this.valueOf() function next(num) { value =

原创 Vue.set 的副作用

想看下面dome,點擊按鈕給testObj設置屬性,值爲true,通過watch監聽了屬性的變化。 <html> <head> <meta charset="utf-8"> <script src="https:/

原创 談談你對keep-alive的瞭解

keep-alive Props: include - 字符串或正則表達式。只有名稱匹配的組件會被緩存。 exclude - 字符串或正則表達式。任何名稱匹配的組件都不會被緩存。 max - 數字。最多可以緩存多少組件實例。

原创 時間分片

在《瀏覽器UI線程更新機制》文章中介紹大多數瀏覽器在 JavaScript 運行時停止 UI 線程隊列中的任務,也就是說 JavaScript 任務必須儘快結束,以免對用戶體驗造成不良影響。 儘管你盡了最大努力,還是有一些 Jav

原创 Vue中常見的性能優化

編碼優化 不要將所有的數據都放到 data 中,data中的數據都會增加 getter 和 setter,又會收集watcher,這樣還佔內存。 <template> <div class="hello"> <ul>

原创 解決iOS 上拉邊界下拉出現白色空白

表現 手指按住屏幕下拉,屏幕頂部會多出一塊白色區域。手指按住屏幕上拉,底部多出一塊白色區域。 產生原因 在 iOS 中,手指按住屏幕上下拖動,會觸發 touchmove 事件。這個事件觸發的對象是整個 webview 容器,容器自

原创 自己搭建一個Vue項目工程

這裏的意思是不在使用Vue-cli腳手架生成項目了,而是自己從零開始配置webpack打包,完成一個完整的項目。 首先說一下爲什麼不在使用腳手架,首先是腳手架一般不適合在公司作爲項目開發的主力軍,腳手架配置並不符合公司的業務場景,

原创 css-loader和style-loader的區別和使用

webpack是用JS寫的,運行在node環境,所以默認webpack打包的時候只會處理JS之間的依賴關係!!! 因爲像 .css 這樣的文件不是一個 JavaScript 模塊,你需要配置 webpack 使用 css-load

原创 url-loader和file-loader的區別和使用

webpack是用JS寫的,運行在node環境,所以默認webpack打包的時候只會處理JS之間的依賴關係!!! 如果你不相信,你可以創建如下類似的代碼嘗試在JS中導入圖片 然後運行打包命令就發生報錯現象(不要編寫webpack

原创 7個有用的JavaScript技巧

就像所有其他編程語言一樣,JavaScript具有許多技巧來完成簡單和困難的任務。 一些技巧已廣爲人知,而另一些技巧足以使您震驚。 讓我們來看看您今天可以開始使用的七個JavaScript技巧! 數組去重 這個比較簡單,在很多地方