1 JS异步解决方案的发展历程以及优缺点
1,回调函数(无法捕获错误(使用try catch) 不能return)
2,事件发布订阅(为了解决回调嵌套的问题)
3,Promise
4 ,生成器Generato
5,Async/await
Async其实是一个语法糖,它的实现就是将Generator函数和自动执行器(co),包装在一个函数中
2 TCP协议是在七层协议的哪一层?
传输层
7:应用层 TFTP(简单文本传输协议)、FTP
NFS 数域筛法,数据加密)WAIS(广域信息查询系统
6:表示层 应用层 Telnet(internet远程登陆服务的标准协议)、
Rlogin、SNMP(网络管理协议)、Gopher
5:会话层 SMTP(简单邮件传输协议)、DNS(域名系统)
4:传输层 传输层 TCP(传输控制协议)、UDP(用户数据报协议)
3:网络层 网际层 IP(网络之间的互联协议)、ICMP(internet控制报文协议)
ARP(地域解析协议)、RARP、AKP、
UUCP(Unix to Unix copy)
2:数据链路层 网络接口 FDDI(光纤分布式数据接口)、Ethernet、Arpanet
PDN(公用数据网)、SLIP(串行线路网际协议) PPP(点对点协议,通过拨号或专线方式建立点对点连接发送数据)
1:物理层 IEEE 802.1.A、IEEE 802.2
其中高层(7、6、5、4层)定义了应用程序的功能,下面三层(3、2、1层)主要面向通过网络的端到端的数据流
3 tcp3次握手
客户端主动打开,发送连接请求报文段,将SYN标识位置为1,Sequence Number置为x(TCP规定SYN=1时不能携带数据,x为随机产生的一个值),然后进入SYN_SEND状态
服务器收到SYN报文段进行确认,将SYN标识位置为1,ACK置为1,Sequence Number置为y,Acknowledgment Number置为x+1,然后进入SYN_RECV状态,这个状态被称为半连接状态
客户端再进行一次确认,将ACK置为1(此时不用SYN),Sequence Number置为x+1,Acknowledgment Number置为y+1发向服务器,最后客户端与服务器都进入ESTABLISHED状态
TCP三次握手是TCP连接建立的过程,TCP四次握手则是TCP连接释放的过程。
4 JavaScript中的‘===’和‘==’的区别
== 用于比较、判断两者相等,比较时可自动换数据类型
=== 用于(严格)比较、判断两者(严格)相等,不会进行自动转换,要求进行比较的操作数必须类型一致,不一致时返回flase
5 介绍下原型链(解决的是继承问题吗)
var o = {
appendTo: function ( dom ) {
}
};
function DivTag() {}
DivTag.prototype = o;
var div = new DivTag();