一、输入url后发生了什么
1、浏览器自动补齐url,如:http或https
2、DNS解析url,获取相应的ip地址
3、浏览器请求ip地址,并进行三次握手(浏览器:我可以请求了吗?服务器:可以了,请求我把。浏览器:那我开始请求了。)
4、浏览器解析html,并请求相应的资源(image,css等)
5、请求完毕,进行四次握手(浏览器:我请求断开。服务器:好的,你断开把。服务器:我请求断开。浏览器:好的,你也断开把。)
6、浏览器将html渲染到页面上。
二、说说清除浮动的几种方式
原理:1、运用css的属性clear:both
2、运用BFC(block formatting context)
解决方案:
1、运用浮动元素后加属性clear:both:代表两边无法承受有人浮动,所以前面是浮动的,会自动换行。
2、在父元素上的:after添加clear:both原理同上,不让前面的浮动元素跟自己一起,但是要设置display:block
3、在父元素上设置overflow为非visible,设置父元素display:inline-block|table,设置父元素position:absolute|fixed
4、为父元素设置高度
三、target和currentTarget区别
currentTarget指的是当前绑定事件的元素
target指的是当前点击的元素
四、说下闭包及其特性
闭包就是函数内部的变量无法被外部访问,只能通过特定的函数方法访问内部的变量。
特性:1、变量定义永久有效,不会被内存回收(函数的定义是在内存常驻的,因此他所关联的变量也是常驻的。)
2、私有变量的存在,不会导致变量全局污染。
解决:将引用完毕的变量指向为null