.call 和 .apply 的差異
.call跟.apply 都可以直接呼叫函式並且改變函式內 this 的指向,兩者最主要的差異是傳入的參數形式不同。
.call跟.apply 都可以直接呼叫函式並且改變函式內 this 的指向,兩者最主要的差異是傳入的參數形式不同。
透過``我們可以適當的控制腳本在瀏覽器載入的時機。
== 是鬆散比較運算子、===是嚴格比較運算子,兩者最大的不同:==是當等號兩邊 values 的型別不同時,會強制轉換資料型別與值,而 === 不會。
匿名函式 anonymous function 是指在 JavaScript 中沒有名稱的函式,通常用於一次性的操作或者作為參數傳遞給其他函式,此外,匿名函式不會在編譯階段被提升到作用域的上方(這是函式表達式的特性),因此它們在程式碼執行時才會被解析。匿名函式有許多應用場景,以下是一些常見的例子:
閉包是什麼?
Component 的三大生命週期
以下幾點為 cookie, sessionStorage 和 localStorage 主要的差異:
DOM
事件委派 event delegation
JavaScript 是單執行緒的語言,所以一次只能執行一件事。事件循環 Event loop 是可以確保作為單行緒語言的 Javascript 可以在執行環境(瀏覽器或Node.js)中執行非同步 (asynchronous)程式碼而不會阻塞主執行緒的機制。
Hosting 提升指的是在執行 JavaScript 程式碼之前, JavaScript 引擎會將變數和函式的宣告提升到作用域的頂端。
Shallow clone 與 deep clone 的區別
1.TypeScript 編譯器推論結果不同
JSX 語法
使用 let、var 和 const 宣告變數時分別在:作用域、初始化、重複宣告、重新賦值、提升時有不同的行為。
Map和WeakMap
null
原型 (Prototype)
useContext
React 在 component function 中提供了一個 useEffect hook 來 隔絕和管理副作用 。React 在每次 render 之後執行 useEffect。
在 component 畫面管理機制中, component 的渲染機制可以分成兩個階段,分別是 render phase 和 commit phase。
同步 synchronous
在 JavaScript 中this的指向會根據不同呼叫的方式而有不同的結果,以下分別列出幾種this的運作方式:
useEffect hook 最主要的作用在於處理與畫面無關的 side effect,並非是 functional component 的生命週期API,因為這個處理副作用的 hook 不論呼叫幾次都不應該影響的資料流或是程式邏輯。
useCallback的用途和使用時機
useRef 是什麼?
防抖和節流函式是前端常見的效能優化的技巧,透過這兩個函式可以有效的減少函式被觸發的次數,達到效能優化的目的。
剛好在最近工作上有遇到這個問題,在這裡我們會討論到 translate() 和 absolute 的差異,以及為什麼我們應該使用 translate() 來移動元素。