# 四、今日头条
# 1.对 async、await 的理解,内部原理
# 2.介绍下 Promise,内部实现
class Promise{
constructor(resolve,reject){
this.resolve=
}
}
1
2
3
4
5
6
2
3
4
5
6
# 3.清除浮动
# 4.定位问题(绝对定位、相对定位等)
# 5.从输入 URL 到页面加载全过程
# 6.tcp3 次握手
# 7.tcp 属于哪一层(1 物理层 -> 2 数据链路层 -> 3 网络层(ip)-> 4 传输层(tcp) -> 5 应用层(http))
# 8.redux 的设计思想
# 9.接入 redux 的过程
# 10.绑定 connect 的过程
# 11.connect 原理
# 12.webpack 介绍
# 13.== 和 ===的区别,什么情况下用相等==
== 在比较时只比较大小,===会比较数据类型
# 14.bind、call、apply 的区别
bind 函数不会立即执行,第一个参数是修改的 this 对象,后面的都是参数 call 和 apply 函数会立即执行,第一参数是修改的 this 对象,第二个参数 call 后面是 arg1,arg2,arg3...的形式,apply 是数组形式
# 15.动画的了解
# 16.介绍下原型链(解决的是继承问题吗)
# 17.对跨域的了解
- 浏览器的同源策略造成跨越
- 跨域请求数据其实已经到达浏览器了,之所以前端页面拿不到数据是因为浏览器把信息屏蔽掉了,可以通过降级浏览器的方式解除这种限制拿到非同源请求的数据,常用于前端开发
- 后端请求是不存在跨域的
- 跨域的几种方式
- jsonp:通过 script 或者 img 等标签不受浏览器同源策略影响的标签实现跨域,具体是前端先写好函数将参数传给相关页面,将函数和相关前端需要请求的参数通过 js 传递给后端,后端通过 js 解析参数,拿到前端函数名称,后端执行这个函数传入相关参数,前端将后端传过来的 js 插入到页面中,执行了后端的函数,前端通过之前的函数拿到后端的参数
- cors:后端设置请求头允许跨域
- proxymiddle:代理常见 webpack 中的代理,实际上是用 node 框架中 express 的代理服务
- postmessage:h5 的通信方式支持跨域
- websockit:消息推送,支持跨域
- domian:二级域名之间的通信
- hash:通过二级域名之间通过 hash 传值
- name:二级域名之间通过 name 跨域
- nginx:代理跨域