1、输入网址,回车之后发生了什么?
图片来源:https://blog.csdn.net/hsd2012/article/details/70254435
2、为什么用v-for指令需要用到key,你通常是用什么去设置key的
Vue的渲染节点符合原地复用的原则,加上key可以识别节点,能有效的运用虚拟DOM中的diff算法,是渲染更加高效。
3、js文件写在<head>中可以操作DOM吗?
如果写在<head>中的js文件中没有写window.onload,而是直接写的程序或者引入的外部js文件,则无法操作DOM,会报错。因为js文件是一个阻塞操作,会立即下载并执行,这时的DOM树还没有渲染。
6、js的window.onload和Jquery的ready的区别。说说ready的实现原理
先说说onload事件,会在页面或图像加载完成后立即发生。<body><img><link><script>等都有该事件。
window.onload会在整个DOM结构、图片等资源全部加载完成后才会执行该事件里面的程序。只能使用一次
Jquery中的ready事件是在DOM结构加载完成后就执行程序,会快一些。可以使用多次。
ready事件的实现原理:借助onreadystatechange和DOMContentLoaded来实现的。
document有loading、interActive、complete三种状态。
loading:标签加载完成,但内部资源未加载(图片)
interActive:状态改变会触发onreadystatechange和DOMContentedLoaded,此时执行ready方法。
complete:资源加载完成,执行onload方法。此时执行window.onload。
7、在Vue中,非内容性的data数据发生改变,会触发页面重新渲染吗?
Vue中元素的属性、内容、同一级元素的顺序发生改变都会触发DOM树的重新渲染;对于数组,要看使用的数组方法,直接修改原数组的方法比如splice,会触发重新渲染;类似concat和slice不会触发。
8、浮动元素有什么特点。
浮动元素会脱离文档流,根据浮动的设置,靠左或者靠右排列,不会超过父元素的边框和前一个浮动元素,一行空间不足后,浮动元素自动另起新的一行排列。会引发父元素高度塌陷的问题,因此需要清除浮动。注意:display:table也可以清除浮动,因为会形成一个BFC。
9、什么时候会产生NaN?
(1)任何数除以0
(2)字符串与数进行乘除减运算
(3)isNumber() parseInt() parseFloat()对一些无法转换成数字的字符串时也会返回NaN