JavaScript

7 篇文章

手寫 debounce 防抖函式和 throttle 節流函式

手寫 debounce 防抖函式和 throttle 節流函式

手寫 debounce 防抖函式和 throttle 節流函式 防抖和節流函式是前端常見的效能優化的技巧,透過這兩個函式可以有效的減少函式被觸發的次數,達到效能優化的目的。 debounce 防抖函式 防抖函式的作用是在一段時間內只執行一次函式。當多次觸發事件時,防抖函式會在最後一次事件觸發後的一段時間內執行一次函式。如果在這段時間內再次觸發事件,計時器會重新計時。 應用場景 - 輸入框搜尋建議:當使用者在搜尋框中輸入時,如果每次按鍵都立即發送請求,這將導致過多的請求。在使用防抖函式後,只有使用者停止輸入一段時間後才會發送搜尋請求。 - 按鈕防連點:當使用者連續點擊按鈕時,如果沒有防抖函式,每...

2024年10月15日·4 分鐘閱讀
null, undefined 和 undeclared 的差異

null, undefined 和 undeclared 的差異

2024年9月21日·4 分鐘閱讀
Event loop 事件循環

Event loop 事件循環

JavaScript 是單執行緒的語言,所以一次只能執行一件事。事件循環 Event loop 是可以確保作為單行緒語言的 Javascript 可以在執行環境(瀏覽器或Node.js)中執行非同步 (asynchronous)程式碼而不會阻塞主執行緒的機制。

2024年9月19日·7 分鐘閱讀
== 和 === 的差異

== 和 === 的差異

JavaScript 中 == 和 === 的差異,== 是鬆散比較運算子、===是嚴格比較運算子,兩者最大的不同:==是當等號兩邊 values 的型別不同時,會強制轉換資料型別與值,而 === 不會。

2024年9月18日·7 分鐘閱讀
Hosting 提升

Hosting 提升

Hosting 提升指的是在執行 JavaScript 程式碼之前, JavaScript 引擎會將變數和函式的宣告提升到作用域的頂端。當瀏覽器運行 Javascript 引擎的時候也就是 runtime 時,會進入創造階段

2024年9月10日·4 分鐘閱讀
let, var ,const 的差異

let, var ,const 的差異

2024年9月6日·3 分鐘閱讀
cookie, sessionStorage 和 localStorage 在瀏覽器中的差異

cookie, sessionStorage 和 localStorage 在瀏覽器中的差異

2024年9月5日·3 分鐘閱讀