1、輸入網(wǎng)址,回車之后發(fā)生了什么?

圖片來源:https://blog.csdn.net/hsd2012/article/details/70254435
2、為什么用v-for指令需要用到key,你通常是用什么去設(shè)置key的
Vue的渲染節(jié)點符合原地復(fù)用的原則,加上key可以識別節(jié)點,能有效的運用虛擬DOM中的diff算法,是渲染更加高效。
3、js文件寫在<head>中可以操作DOM嗎?
如果寫在<head>中的js文件中沒有寫window.onload,而是直接寫的程序或者引入的外部js文件,則無法操作DOM,會報錯。因為js文件是一個阻塞操作,會立即下載并執(zhí)行,這時的DOM樹還沒有渲染。
6、js的window.onload和Jquery的ready的區(qū)別。說說ready的實現(xiàn)原理
先說說onload事件,會在頁面或圖像加載完成后立即發(fā)生。<body><img><link><script>等都有該事件。
window.onload會在整個DOM結(jié)構(gòu)、圖片等資源全部加載完成后才會執(zhí)行該事件里面的程序。只能使用一次
Jquery中的ready事件是在DOM結(jié)構(gòu)加載完成后就執(zhí)行程序,會快一些??梢允褂枚啻巍?/p>
ready事件的實現(xiàn)原理:借助onreadystatechange和DOMContentLoaded來實現(xiàn)的。
document有l(wèi)oading、interActive、complete三種狀態(tài)。
loading:標(biāo)簽加載完成,但內(nèi)部資源未加載(圖片)
interActive:狀態(tài)改變會觸發(fā)onreadystatechange和DOMContentedLoaded,此時執(zhí)行ready方法。
complete:資源加載完成,執(zhí)行onload方法。此時執(zhí)行window.onload。
7、在Vue中,非內(nèi)容性的data數(shù)據(jù)發(fā)生改變,會觸發(fā)頁面重新渲染嗎?
Vue中元素的屬性、內(nèi)容、同一級元素的順序發(fā)生改變都會觸發(fā)DOM樹的重新渲染;對于數(shù)組,要看使用的數(shù)組方法,直接修改原數(shù)組的方法比如splice,會觸發(fā)重新渲染;類似concat和slice不會觸發(fā)。
8、浮動元素有什么特點。
浮動元素會脫離文檔流,根據(jù)浮動的設(shè)置,靠左或者靠右排列,不會超過父元素的邊框和前一個浮動元素,一行空間不足后,浮動元素自動另起新的一行排列。會引發(fā)父元素高度塌陷的問題,因此需要清除浮動。注意:display:table也可以清除浮動,因為會形成一個BFC。
9、什么時候會產(chǎn)生NaN?
(1)任何數(shù)除以0
(2)字符串與數(shù)進行乘除減運算
(3)isNumber()? parseInt() parseFloat()對一些無法轉(zhuǎn)換成數(shù)字的字符串時也會返回NaN