自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除