typeof 和 instanceof 的区别?
- typeof 和 instanceof 都是用来判断数据类型是否是空
- typeof 在判断基本数据类型返回的是基本数据类型的 type 类型,但是在判断引用数据类型他都会返回 object 这样会使判断出现不准确的现象
- instanceof 返回布尔值.
- instanceof 是判断一个变量是否属于一个对象的实例.
浏览器中输入 url 是怎样的一个渲染机制?
- 浏览器接收到 url 会将 url 交给 DNS 域名解析,解析找到真实的 ip 地址,浏览器将资源文件交给后台进行解析资源文件.
- 浏览器将资源文件编译成 html 数据解构,在将 html 在页面视口的精确位置计算出来,将资源文件返回给浏览器做最后的 rander.
浏览器的渲染原理?
- 浏览器将 html 解析成 html 树
- 将 css 解析成样式表 css 树
- 在将 html 树和 css 树合并成 rander 树
- 浏览器会根据 html 在页面视口中的位置去计算他准确的视口坐标位置
- 根据页面准确的视口位置将 rander 树进行渲染.
- 渲染不是一次性的,而是一边解析,一边合并,一边渲染
websocked 协议和 http 协议的区别?
- http 协议:每次 http 请求,都会创建一次 tcp 连接,只能做到客户端向服务端发送请求,做不到服务端主动向客户端发送信息
- websocked 协议:可以保持真正的长连接,客户端可以主动向服务端发请求,服务端也可以主动的向客户端发送请求,是真正的双向平等对话,是一种服务端推送技术的一种.
localStorage 和 sessionStorage 和 cookie 的区别?
-
localStorage:是一种本地存储永久储存在本地,只能手都销毁,存储大小 5MB,只能在同一个浏览器中访问,不可跨浏览器访问.
-
sessionStorage:临时存储,当会话结束时 sessionStorage 会自动销毁,存储大小 5MB.
-
cookie:是一种跟踪会话技术,是基于服务器在浏览器上创建的一个小的文本文件,用来存储用户信息的,他可以设置过期时间以及存储地址,存储大小 4KB,不可以跨浏览器访问,可以手动删除
-
作用域不同:
- sesionStorage:不能在不同页面的浏览器窗口中访问.
- localStorage 和 cookie 可以在不同页面的浏览器同源窗口中访问.
路由实现原理
- hashchange 事件监听当前页面地址栏变化,比较当前页面地址栏哈希是否和路由表中 hash 相等,相等,将组件渲染到 dom 中