-
var,let,const区别
var:全局变量,有变量提升
let、const:块级作用域,没有变量提升,不能声明后未赋值使用,暂时性死区 -
http在哪一层,tcp在哪一层
http(超文本传输)协议在应用层 、 tcp(传输控制)在传输层 -
https和http的区别
一、https协议需要到ca机构申请ssl证书(如沃通CA),另外沃通CA还提供3年期的免费ssl证书,高级别的ssl证书需要一定费用。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,http是80端口,https是443端口。
四、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全 -
tcp三次握手的过程
第一次握手:建立连接时,客户端发送syn(syn=j)包给服务器,并进入SYN_SEND状态,等待服务器确认;syn:同步序列编号
第二次握手:服务器收到syn包,确认客户的SYN(ack=j+1),同时自己也发送一个syn(syn=k)包,即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),之后客户端和服务器端进入ESTABLISHED状态,完成三次握手 -
Event Loop事件循环看代码说输出
-
css实现垂直居中的方式
(1)display:inline-block
verticle-align:middle
(2)父元素:display:flex 子元素:align-self:cecnter
(3)父元素:display:table 子元素:display:table-cell verticle-align:middle
(4)为父元素添加伪元素:before,使得子元素实现垂直居中
(5)设置子元素的line-height值等于父元素的height
(5)
- url查询参数解析
csdn - this指向问题,看代码输出
- 跨域的原因和解决跨域的方法
简书
原因:端口号、协议、域名、子域名不同 - [ ] == 0、[ ] == “” 结果是什么,为什么
true true - 手写防抖函数
防抖:事件触发后N秒再执行,若N秒内再次触发,则重新计时
实现原理:设置一个定时器,在wait时间后再次触发事件,每次触发事件都会重新设置定时器
function debounce(func,wait){
let timeout=null
return function(){
let context=this
let args=arguments
if(timeout) clearTimeout(timeout)
timeout = setTimeout(()=>{
func.apply(context,args)
},wait)
}
}
- 平时怎么学前端,都看过哪些书
- 301状态码
301:被请求的资源永久性移除,适合永久重定向
302:请求的资源现在临时从不同的url响应请求,临时跳转
- 基本数据类型和引用数据类型的区别
- typeof []会是什么结果,怎么判断一个引用数据类型的变量是不是数组
typeof [ ] ‘object’
typeof { } ‘object’
Array.isArray([ ])
true