1. 寫 React/Vue 項(xiàng)目時(shí)為什么要在組件中寫 key,其作用是什么? key 的作用是為了在 diff 算法執(zhí)行時(shí)更快的找到對(duì)應(yīng)的節(jié)點(diǎn),提高 diff 速度。 vu...
定義 程序調(diào)用自身的編程技巧稱為遞歸(recursion)。 階乘 以階乘為例: 遞歸條件 構(gòu)成遞歸需具備邊界條件、遞歸前進(jìn)段和遞歸返回段,當(dāng)邊界條件不滿足時(shí),遞歸前進(jìn),當(dāng)邊...
前言 對(duì)于每個(gè)執(zhí)行上下文,都有三個(gè)重要屬性: 變量對(duì)象(Variable object,VO) 作用域鏈(Scope chain) this 今天重點(diǎn)講講創(chuàng)建變量對(duì)象的過程。...
作用域 作用域是指程序源代碼中定義變量的區(qū)域。 作用域規(guī)定了如何查找變量,也就是確定當(dāng)前執(zhí)行代碼對(duì)變量的訪問權(quán)限。 JavaScript 采用詞法作用域(lexical sc...
順序執(zhí)行? 如果要問到 JavaScript 代碼執(zhí)行順序的話,想必寫過 JavaScript 的開發(fā)者都會(huì)有個(gè)直觀的印象,那就是順序執(zhí)行,畢竟: 然而去看這段代碼: 打印的...
構(gòu)造函數(shù)創(chuàng)建對(duì)象 我們先使用構(gòu)造函數(shù)創(chuàng)建一個(gè)對(duì)象: 在這個(gè)例子中,Person 就是一個(gè)構(gòu)造函數(shù),我們使用 new 創(chuàng)建了一個(gè)實(shí)例對(duì)象 person。 很簡(jiǎn)單吧,接下來進(jìn)入正...
在前端開發(fā)的過程中,我們經(jīng)常會(huì)需要綁定一些持續(xù)觸發(fā)的事件,如 resize、scroll、mousemove 等等,但有些時(shí)候我們并不希望在事件持續(xù)觸發(fā)的過程中那么頻繁地去執(zhí)...
每個(gè)函數(shù)都包含兩個(gè)非繼承而來的方法:call()和apply();在JavaScript中,call和apply作用是一樣的,都是為了改變某個(gè)函數(shù)運(yùn)行時(shí)的上下文(contex...
axios 是一個(gè)基于 Promise 的http請(qǐng)求庫(kù),可以用在瀏覽器和node.js中 備注: 每一小節(jié)都會(huì)從兩個(gè)方面介紹:如何使用 -> 源碼分析 [工具方法簡(jiǎn)單介紹]...
使用匹配器 使用不同匹配器可以測(cè)試輸入輸出的值是否符合預(yù)期。下面介紹一些常見的匹配器。 普通匹配器 最簡(jiǎn)單的測(cè)試值的方法就是看是否精確匹配。首先是toBe() toBe用的是...