2018-04-10 阿里電面

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


網(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

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

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

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