1.css中實現(xiàn)吸頂?shù)膶傩裕?/h2>
position:sicky;
2.webpack在npm run build之后發(fā)生了什么?
3.vue中data為什么返回是一個對象?
如果直接返回一個對象,對象是引用類型,當我們在多個頁面引用這個組件,去修改對象中的某個屬性,其他地方的值也會發(fā)生變化,而return出一個方法,每次引用都會是一個新的對象,引用地址不同,就不會出現(xiàn)這個問題
4.請輸出一下js運行的結果 并說明原因。
1.<script>console.log(a)</script>
5.ES5中怎么聲明const?
6.watch和computed的區(qū)別?
watch是只要數(shù)據(jù)變化 就會觸發(fā)相應的操作,不支持緩存,支持異步
computed支持緩存,當依賴的數(shù)據(jù)發(fā)生變化時觸發(fā)相應的操作 不支持異步,
當多個數(shù)據(jù)依賴一個數(shù)據(jù)時用watch 而一個數(shù)據(jù)依賴多個數(shù)據(jù)時用computed
7.瀏覽器緩存有哪些?
瀏覽器緩存(HTTP緩存):1.強緩存:強緩存是利用http頭部Expires和cache-control來控制的,當發(fā)起請求時,瀏覽器會檢測expires和cache-control來判斷資源是否過期,如果沒有過期會直接使用緩存,不再向瀏覽器發(fā)起請求,如果過期了 會向瀏覽器發(fā)起協(xié)商緩存。2.協(xié)商緩存:第一次發(fā)起請求時,服務器會在response header中添加一個 Last-Modified字段 他的含義就是該資源在服務器中最后一次修改的時間,下一次發(fā)送請求時,瀏覽器會在request-header中添加一個Last-Modified-Since字段 這個字段的值就是服務器返回的Last-Modified的值,服務器接收到請求時 會用這個值和服務器最后對資源進行修改的值做對比,如果相同,就響應瀏覽器304,去讀取緩存,如果不同就重新讀取資源返回200
8.深拷貝和淺拷貝的方法有哪些?
? ? ?深拷貝的實現(xiàn)方式:
1.JSON.parse() /JSON.stringfy()用JSON.stringfy()把對象轉化為JSON字符串,再用JSON.parse把字符串轉換為對象 就會生成一個新的對象,而且對象會開辟一個新的棧,就會實現(xiàn)深拷貝
2.函數(shù)庫loadsh()

3.封裝一個遞歸方法

9.react的setState是同步還是異步?
setState只在合成事件和鉤子函數(shù)中是“異步”的,在原生事件和setTimeout 中都是同步的。
setState 的“異步”并不是說內(nèi)部由異步代碼實現(xiàn),其實本身執(zhí)行的過程和代碼都是同步的,只是合成事件和鉤子函數(shù)的調用順序在更新之前,導致在合成事件和鉤子函數(shù)中沒法立馬拿到更新后的值,形成了所謂的“異步”,當然可以通過第二個參數(shù) setState(partialState, callback) 中的callback拿到更新后的結果。
setState 的批量更新優(yōu)化也是建立在“異步”(合成事件、鉤子函數(shù))之上的,在原生事件和setTimeout 中不會批量更新,在“異步”中如果對同一個值進行多次setState,setState的批量更新策略會對其進行覆蓋,取最后一次的執(zhí)行,如果是同時setState多個不同的值,在更新時會對其進行合并批量更新。
10.forEach和map有什么區(qū)別?
forEach會返回undefined 所以會直接改變原數(shù)組 而map會創(chuàng)建一個新數(shù)組然后返回
11.v-model的實現(xiàn)原理?
? ? 實現(xiàn)數(shù)據(jù)的雙向綁定 總共分為三步:1.實現(xiàn)一個Observer,Observer是一個數(shù)據(jù)監(jiān)聽器,其核心原理時Object.defineProperty(),用來劫持并監(jiān)聽所有的屬性,如果有變動的,就通知訂閱者。2.實現(xiàn)一個訂閱者Watcher,每一個watcher都綁定一個更新函數(shù),watcher可以收到屬性的變化,并執(zhí)行相應的函數(shù) 更新到視圖。3.實現(xiàn)一個解析器Complier,可以掃描和解析v-model和v-on指令,如果節(jié)點存在v-model和v-on指令,則解析器complier初始化這類節(jié)點的模板數(shù)據(jù),使之可以顯示再視圖上,然后初始化相應的訂閱者