1.var let const 的区别
var 会把对象挂在在window上面,let和const不会
var会做变量提升,但是let和const不会
let和const 是ES6的新特性
let const 是有块级作用域的
同一作用域下let和const不能声明同名变量,而var可以
let和const,var都有暂存死区
但是let,const因为没有变量提升会报错
const 是定义常量 不可更改
2.http在哪一层,tcp在哪一层
http在应用层 tcp在运输层
3.https和http的区别
http + ssl协议 就是 https
4.tcp三次握手的过程
1.第一次握手 Client 发送一个SYNseq=x的信号,并且Client进入SYN_SEND状态 准备发送信息
2.第二次握手 Server 接受到SYN=X的信号后,返回一个ACK=x+1的信号 表示已经接收到了客户端信息,并且发送一个SYN seq = y
3.第三次握手 Client 接受到SYN seq=y ,返回ACK = y+1 并且客户端进入ESTABLISHED状态,服务器收到确认信息后也进入到ESTABLISHED状态
5.typeof []会是什么结果,怎么判断一个引用数据类型的变量是不是数组
(1 type of [] 的结果会是 object )
(2 可以使用 [] instance of Array ) 对象实例方法
(3 可以使用 Array.isArray()方法)
- 跨域的原因和解决方法
跨域是基于跨域安全策略的,即同协议 同域名 同端口,来防范一些恶意行为
解决方法
1.CORS
设置请求头
Access-Control-Allow-Credentials:true
2.JSONP
使用script动态生成 因为script元素和img元素雷士都不需要受限制从其他域加载资源
只能用于get请求不能用于POST请求
3.IMGP
只能用于简单,单向但是不能访问服务器访问的文本
4.反向代理,ngixn
5.Vue-cli 创建的项目,可以直接利用 Node.js 代理服务器,通过修改vue proxyTable接口实现跨域请求
-
position都有哪些值,分别相对于什么进行定位
1.static 默认值2.absolute 绝对定位 相对与最近的上一级不是static的父级进行相对定位
3.fixed 相对于浏览器或者frame进行定位 多用于广告
4.relative 相对于普通事件流中的位置进行定位
5.sticky 生成粘性定位的元素,容器的位置根据正常文档流计算得出
8.CSS有哪些字体单位,em和rem的区别
1.px 像素长度 相对于分辨率而言的
2.em 相对于当前对象的字体大小来说(默认字体大小为 16px)
3.rem 相对于浏览器根对象的字体大小来说 (优势是修改根元素字体大小就可以直接修改所有文字的字体大小)