html
- 浏览器渲染过程
①解析html文件生成DOM树
②处理css标记生成CSSOM树
③DOM树和CSSOM合并生成渲染树
④布局渲染树
⑤绘制在屏幕上 - 输入网址、按下回车,这个过程发生了什么
①域名解析
②发起TCP三次握手
③建立TCP连接后发起http请求
④服务器端响应http请求,浏览器得到html代码
⑤解析html代码,并请求html代码中的资源
⑥对页面进行渲染呈现给用户 - http 和 https的区别
http:默认端口号80;超文本传输协议;协议以明文的方式发送;不加密
https: 默认端口号是443;是建构在ssl/tls之上的http协议;需要申请CA证书 - TCP三次握手
①客户端向服务发送SYN包,客户端进入SYN_SEND状态
②服务器收到客户端的SYN包并确认,同时向客户端发送一个SYN包,服务器进入SYN_RECV状态
③客户端收到SYN_ACK包,向服务器发送确认包ACK,客户端和服务器进入ESTABLISHED状态 - cookie、localStorage和sessionStorage的区别
cookie: 大小不能超过4k
localStorage 和 sessionStorage 大小可以达到5M或者更大
localStorage:长期存储,浏览器关闭数据不会丢失,除非手动清除
sessionStorage: 临时存储,会话结束自动回收 - http 状态码
①1XX:信息状态码
②2XX:请求成功
③3XX:重定向
④4XX:请求失败
⑤5XX:服务器错误 - 浏览器兼容
①:css中添加通配符*
②:使用float为img布局,解决图片默认边距
css
- 盒模型
① W3C标准盒模型 = content
② IE盒模型 = content + border + padding - 清除浮动的方法
①clear:both; ②父级div定义伪类:after和zoom
③ class = ‘clear’ ④ overflow: hidden; - 水平居中的方法
①margin:0 auto; ②text-align:center; ③flex布局 - 垂直居中的方法
①position+transform ②flex布局 ③line-height:height;
④display:table-cell; - rem和em的区别
rem是根据根元素的字体大小进行适配
em是根据父元素的字体大小进行适配
js
- 面向对象
基本特征:封装、继承、多态 - 闭包
函数可以访问另一个函数作用域中的变量,始终保持在内存中
优点:不会清除,避免全局污染
缺点:增大内存使用,内存溢出 - 原型链
每个被实例对象都有一个_proto_对象,它指向了构造该对象的构造函数的prototype属性,同时该对象可以通过_proto_对象来寻找不属于自身的属性 - new操作符具体步骤
①创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型
②属性和方法被加入到this引用的对象中
③新创建的对象由this引用,最后返回this - Ajax
①创建一个xmlHttpRequest对象
②设置回调函数
③配置请求信息,使用open方法与服务器建立连接,get请求参数在url之后,post方式发送数据需要设置请求头
④向服务器发送数据
⑤在回调函数中对不同的响应状态进行处理
jQuery
- jQuery选择器
id选择器 类名选择器 标签选择器
Vue
- MVVM
view 和model 通过viewmodel进行通信 - Vue的优点
轻量级框架,大小只有几十kb,双向数据绑定操作更加简单,组件化开发,运行速度更快 - Vue响应式原理
采用数据劫持和发布者–订阅者模式的方式,通过Object.defineProperty劫持各个属性的getter/setter方法,在数据变动时发布消息给订阅者,触发相应的监听回调 - Vue组件之间的传值
① 父组件向子组件:props
②子组件向父组件:$emit
③eventbus
④vuex
⑤缓存机制 - Vue中的data为何是个函数
组件被服用的时候数据相互隔离互不影响 - Vue生命周期
beforeCreate, created, beforeMount, mounted,
beforeUpdate, updatad, beforeDistory, distoryed - created 和 mounted 的区别
created: 在模板渲染成html或者模板编译路由前调用
mounted: 已完成模板,已经渲染或el对应html渲染后调用 - computed 和 watch 的区别
computed: 当一个属性收到多个属性影响时
watch: 当一条数据影响多条数据时 - v-if 和 v-show 的区别
v-if控制DOM元素的增加或删除(适用于运行时条件很少改变的情况)
v-show控制DOM元素的display样式(切换比较频繁时使用) - get 和 post 的区别
get的传参方式是通过地址栏url传递,可以看到参数;post参数不可见
get传参长度有限制,2048个字符之内;post传参没有限制;
get会被缓存,post不会被缓存;
get只能进行url编码,post支持多种编码方式 - n e x t T i c k 的 使 用 使 用 nextTick的使用 使用 nextTick的使用使用nextTick这个回调,让修改后的data值渲染更新到dom元素之后在获取