——持續(xù)更新

bykj

tcp 三次握手說一下

設(shè)置image 圖片和背景顏色哪個(gè)優(yōu)先顯示
答:圖片顯示在上面,背景顏色會(huì)填充

區(qū)別:display: none;opacity: 0; visibility: hidden;
答:https://www.cnblogs.com/jing-tian/p/10969109.html

apply call bind 區(qū)別?
答:
都是用來改變函數(shù)的this對(duì)象的指向的;第一個(gè)參數(shù)都是this要指向的對(duì)象;
都可以利用后續(xù)參數(shù)傳參;apply 第二個(gè)參數(shù)是數(shù)組 call 一個(gè)個(gè)單獨(dú)寫的;
bind是返回對(duì)應(yīng)函數(shù),便于稍后調(diào)用,apply、call是立即調(diào)用;
bind()是es5中的方法,他也是用來實(shí)現(xiàn)上下文綁定,看它的函數(shù)名就知道。bind()和call與apply不同。bind是新創(chuàng)建一個(gè)函數(shù),然后把它的上下文綁定到bind()括號(hào)中的參數(shù)上,然后將它返回。
所以,bind后函數(shù)不會(huì)執(zhí)行,而只是返回一個(gè)改變了上下文的函數(shù)副本,而call和apply是直接執(zhí)行函數(shù)。

foreach map 區(qū)別?
答:forEach不會(huì)返回新的數(shù)組,而是在原數(shù)組的基礎(chǔ)上改變數(shù)組,可以用于數(shù)組的修改;
本身無法跳出循環(huán),必須遍歷所有的數(shù)據(jù)才能結(jié)束;如何跳出循環(huán)?return 跳出當(dāng)前循環(huán), throw new Error() 跳出循環(huán)
map 不改變?cè)瓟?shù)組,會(huì)將處理過的數(shù)據(jù)組成一個(gè)新的數(shù)組
filter 不會(huì)改變?cè)瓟?shù)組,但是也會(huì)將滿足條件的元素組成印個(gè)新的數(shù)組,return出來
map和filter的區(qū)別主要在于,當(dāng)過濾而不是改變的時(shí)候,map return的是一個(gè)盛放布爾值的數(shù)組
every不是過濾也不是進(jìn)行處理,也不會(huì)生成新的數(shù)組,他是對(duì)數(shù)組中的每一個(gè)元素進(jìn)行判斷
每一個(gè)元素都滿足要求就返回true,只要有一個(gè)不滿足就返回false
some和every一樣不是過濾也不是進(jìn)行處理,也不會(huì)生成新的數(shù)組,他是對(duì)數(shù)組中的每一個(gè)元素進(jìn)行判斷
但是只要有一個(gè)元素滿足要求就返回true,都不滿足就返回false
find findIndex reduce

判斷是否是數(shù)組?
答:使用isArray()方法;a instanceof Array

react 生命周期?
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpade
componentWillUpdate
componentDidUpdate
componentWillUnmount

為什么不在componentWillMount里面初始化函數(shù)
答:如果在這里有異步需要處理,渲染內(nèi)容,會(huì)中斷,可能多次請(qǐng)求
這個(gè)每個(gè)項(xiàng)目的實(shí)踐不一樣吧,有的人喜歡在willMount里面初始化內(nèi)容有的人不喜歡。

  1. 如果初始化內(nèi)容的時(shí)候需要操作dom節(jié)點(diǎn),那肯定只能在didMount
  2. 如果需要需要等待請(qǐng)求返回才能渲染。并且willMount中await了請(qǐng)求,會(huì)阻礙頁面渲染。空白狀態(tài)不太友好。didMount中就可以處理請(qǐng)求前后以及請(qǐng)求中的頁面。
  3. 如果使用ssr。componnetWillMount在server端也會(huì)調(diào)用,但是server端不需要發(fā)請(qǐng)求獲取數(shù)據(jù)。
  4. 自從react 16,3以后引入了async render https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html,componentWillMount變成unsafe 的lifecycle,并且會(huì)在17.0完全移除

react 渲染很多數(shù)據(jù)如果不寫key 會(huì)發(fā)生什么?
答:可能會(huì)很卡,沒有標(biāo)記key虛擬dom 不會(huì)計(jì)算,每條數(shù)據(jù)增加進(jìn)來都會(huì)重新渲染;

受控組件非受控組件?
受控組件 只有setState 才會(huì)執(zhí)行render
非受控組件

antd 表單用過哪些?
自由發(fā)揮

webstorage 了解嗎?

redux 數(shù)據(jù)流講一下?


image.png

用戶通過出發(fā) store.dispatch(action);
然后,Store 自動(dòng)調(diào)用 Reducer,并且傳入兩個(gè)參數(shù):當(dāng)前 State 和收到的 Action。 Reducer 會(huì)返回新的 State 。
let nextState = todoApp(previousState, action);
State 一旦有變化,Store 就會(huì)調(diào)用監(jiān)聽函數(shù)。// 設(shè)置監(jiān)聽函數(shù)store.subscribe(listener);
listener可以通過store.getState()得到當(dāng)前狀態(tài)。如果使用的是 React,這時(shí)可以觸發(fā)重新渲染 View。
function listerner() {
let newState = store.getState();
component.setState(newState);
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容