常見(jiàn)前端實(shí)習(xí)面試題(一)
更多內(nèi)容關(guān)注微信公眾號(hào)“前端阿章”~
1. 塊級(jí)元素和行內(nèi)元素的比較
- 塊級(jí)元素獨(dú)占一行
- 塊級(jí)元素可以設(shè)置寬高,上下margin和padding
- 塊級(jí)元素可以包裹行內(nèi)元素
2. 閉包
定義:如果一個(gè)函數(shù)的返回值是匿名函數(shù),并且此匿名函數(shù)調(diào)用了外部函數(shù)的變量且在外部調(diào)用了這個(gè)匿名函數(shù),就形成了閉包
好處
- 變量會(huì)長(zhǎng)時(shí)間存儲(chǔ)在內(nèi)存中
- 避免全局污染
- 私有屬性存在
壞處
- 使用過(guò)多會(huì)造成內(nèi)存使用過(guò)多
- 有可能造成內(nèi)存泄露
3. bootstrap的柵格布局為什么是12格
因?yàn)?2是1、2、3、4、6的最小公倍數(shù)
4. 文檔結(jié)構(gòu)DOCTYPE的含義
告訴瀏覽器該文檔是用哪個(gè)版本的html寫(xiě)的
5. session和cookie的區(qū)別
- session存儲(chǔ)在服務(wù)器中,cookie存儲(chǔ)在瀏覽器
- cookie的單個(gè)存儲(chǔ)大小為4kb,最多200個(gè)左右,session無(wú)限制
- 考慮安全用session,考慮性能用cookie
6. get和post的區(qū)別
- get的傳輸數(shù)據(jù)存放在url上,post存放在請(qǐng)求體中(所以post請(qǐng)求比get請(qǐng)求更加安全)
- get請(qǐng)求受url長(zhǎng)度限制,所以存放的傳輸數(shù)據(jù)是少量的
- get請(qǐng)求的執(zhí)行效率更高(get請(qǐng)求是表單默認(rèn)提交方式)
7. 除了get和post還有什么請(qǐng)求方式
- OPTIONS(返回服務(wù)器支持的http方法)
- HEAD(只返回響應(yīng)頭部,不返回頁(yè)面內(nèi)容)
- PUT
- DELETE
8. js的數(shù)據(jù)類(lèi)型
基礎(chǔ)數(shù)據(jù)類(lèi)型:
- string
- number
- boolean
- undefined
- null
- symbol(es6新增)
復(fù)雜數(shù)據(jù)類(lèi)型:
- Object
9. 項(xiàng)目結(jié)構(gòu)目錄
- build
- config
- node_modules
- src
- static
- .babelrc
- .editorconfig
- .ignore
- .postsccss.js
- index.html
- package.json
- package-lock.json
- README.md
10. div居中
- position + margin
.father{
position: relative;
}
div{
position: absolute;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
margin-top: -50px;
margin-left: -50px;
}
- position + trnsform
.father{
position: relative;
}
div{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
- flex
.father{
display: flex;
justify-content: center;
align-items: center;
}
div{}