- 博客(8)
- 收藏
- 关注
原创 TCP 和 UDP 的区别?TCP 窗口滑动机制?
UDP: UDP是无连接的,即发送数据之前不需要建立连接。 UDP尽最大努力交付,即不保证可靠交付。 UDP具有较好的实时性,工作效率比TCP高。 UDP支持一对一、一对多、多对一和多对多的交互通信。 UDP对系统资源要求较少。 TCP: TCP面向连接(三次握手) TCP通过校验,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。 每一条TCP连接只能是点到点...
2020-07-26 15:47:10 269
原创 DNS 解析全过程
首先,浏览器检查自身缓存中是否有该域名对应的 ip 地址,若有则解析结束。 如果浏览器中没有命中,就回去检查操作系统缓存中有没有对应的已解析过的结果。在 windows 中的 c盘的 hosts 文件。 如果这次也没有命中,就会取请求本地域名服务器(LDNS)来解析。一般来说,百分之80的域名解析到这就完成了。 如果 LDNS 还是没有命中,就直接跳到根域名服务器(Root Server)请求解析。 根域名服务器返回一个通用顶级域(gTLD)地址。 向 gTLD发起请求,然后讲 IP 地址联通 .
2020-07-26 15:24:06 192
原创 JS 模块规范(CommonJs/AMD/CMD/ES6)
CommonJS:commonJS主要用于 Node.js,输出方式有2种:默认输出---module export 和带有名字的输出---exports.area,引入方式为 required。commonJs是同步加载,所以更适合用在服务端,因为服务端是磁盘读取。如果用在客户端,可能会造成阻塞。AMD:AMD是required.js 所引出的一种规范,通过 required([Module], callback)来进行引入,其中 Module 里传一个数组,依次引入。然后在 ...
2020-07-26 00:08:29 317
原创 Promise.race 的实现
function isPromise(obj) { if (!!obj && (typeof(obj) === 'object' || typeof(obj) === 'function') && typeof(obj.then) === 'function') { return true } else { return false }}function newPromiseAll(arr) { let result = []; re.
2020-07-25 18:45:32 2749
原创 Promise.all的实现和一些改进
Promise.all:function isPromise(obj) { if (!!obj && (typeof(obj) === 'object' || typeof(obj) === 'function') && typeof(obj.then) === 'function') { return true } else { return false }}function newPromiseAll(arr) { let res
2020-07-25 18:35:37 324
原创 关于 Promise 的一些个人总结
什么是 Promise?我认为通俗点讲,Promise是一个构造函数。Promise 使用方式:let p = new Promise((resolve, reject) => { resolve("成功了!")}).then(res => { console.log(res)}).catch(res => { console.log(res)})Promise 在新建时可以选择性的传入两个值,其中第一个 resolve 是指成功状态执行,而第二个r
2020-07-25 18:08:29 170
原创 js 四种数据类型判断方法
一、typeof(a):日常开发中最常用的方法,在判断String、Number、undefined、Boolean、Function 时都很好用,但是 对象、null和数组的时候都返回'object'。二、a instanceof xxx:只适用于检测引用类型。三、a.constructor:利用原型链的原理,直接访问查看构造函数。基本数据类型和引用数据类型都好用,但是因为原型链的属性是可以改的,因此如果 constructor 值被改了就麻烦了。四、O...
2020-07-25 17:14:38 297
原创 js数组和字符串的操作方法
Array(数组): 一、改变原数组的:pop() 删除数组最后一项,然后返回长度 length push() 向数组最后一项添加值,然后返回长度 length =shit() 删除数组第一项,返回删除的值 unshift() 向数组第一项添加值,然后返回数组长度 reverse() 反转数组 splice(a,b,c) 删除从 a 开始的 b 个数值,并插入 c (b默认为1,c 默认空) 二、不改变原数组的:...
2020-07-25 16:54:33 167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人