前端面试学习杂记
null和undefined区别:https://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html
OSI七层模型:
1、物理层
功能:在物理媒体上实现比特流的传输
扩展:传输方式分单工(只能一端发送一端接收,例如广播电视)、半双工(收发都可以,但同一时间只能一端收一端发,例如对讲机)、全双工(同一时间收发都可以,例如打电话)。
2、数据链路层
功能:定义数据如何传输,控制对物理介质的访问,提供错误检测纠正,数据封装成帧
扩展:交换机为该层工具,负责将帧解码,找到对应接收方
3、网络层
功能:将分组(数据报的切分)从源端发送到目的端,为分组交换的不同主机提供通信
扩展:路由器为该层工具,相关协议IP
IP协议(网络之间互联的协议):为计算机网络相互连接通信设计的协议。将多个包交换网络连接起来,在源地址和目的地址之间传送数据包,提供对数据大小重新组装的功能,适应不同网络对包大小的要求。IP提供不可靠的传输服务,不提供端到端或者结点到结点的确认,对数据没有差错控制,只使用报头的校验码,不提供重发和校验控制。
4、传输层
功能:解决主机之间的数据传输和传输质量。
扩展:相关协议TCP、UDP,都负责提供流量控制,错误校验,排序服务。
TCP协议(传输控制协议):采用重发技术,提供了一个可靠的,面向连接的,全双工的数据传输服务。
UDP(用户数据报协议):不可靠的,无连接的协议。
5、会话层
功能:自动收发包,自动寻址,建立和管理应用程序之间的通信。
6、表示层
功能:将数据按照网络能够理解的方式格式化,解决不同系统语法问题
扩展:加密解密,压缩解压
7、应用层
功能:让应用程序之间更高效的通信,规定了报文类型,语法,发送报文响应规则。相关协议HTTP、POP3、SMTP、FTP、Telenet、DNS。
HTTP(超文本传输协议):万维网传输超文本到浏览器的协议。
POP3(邮局协议版本3):用于支持使用客户端远程管理在服务器上的电子邮件。
SMTP(简单邮件传输协议):提供可靠且有效的电子邮件传输协议,建立于FTP上的一种邮件服务,主要传输邮件信息,提供与邮件有关的通知。
FTP(文件传输协议):网络上两台计算机传送文件的协议。FTP在客户机与服务器上建立两条TCP连线,传送控制信息(21端口)和文件内容(20端口)。
Telenet(远程登录协议):登陆和仿真程序,基本功能是允许用户登录进入远程计算机系统。
DNS(域名系统):域名与IP地址一一对应的系统。

JS中的this对象详解:https://www.cnblogs.com/kongxy/p/4581223.html
DOM解析过程:https://blog.csdn.net/weixin_33971205/article/details/87957161
window.onload(DOM树,iframe,image等都已经加载完)与DOMContentLoaded(DOM构建完成触发事件)
阻塞:内联css,内联javascript,外联普通javascript,外联defer JavaScript(dom构建完成与派发DOMContentLoaded事件之间请求并执行的),JavaScript标签之前的外联css。
当阻塞型资源都请求并且执行完成,DOM树便已经解析完成,这时候派发DOMContentLoaded事件,表示DOM树构建完成。
非阻塞:外联 async JavaScript,JavaScript标签之后的外联css,image,iframe。
★三种外联javaScript和HTML解析的关系
①普通外联JavaScript:HTML解析过程中遇到这种标签就会暂停,先请求并执行JavaScript,然后继续解析。
②外联defer JavaScript:遇到此类scrip标签,HTML解析不暂停,暂存任务到队列中,等整个html解析完之后再按顺序请求并执行,全部执行完成之后才能派发DOMContentLoaded。
③外联async JavaScript:遇到此类标签,先下载脚本,任意此种script脚本下载完之后若HTML未解析完,则会暂停解析先执行scrip脚本,不阻塞DOMContentLoaded的派发。

浙公网安备 33010602011771号