自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 TCP 和 UDP 的区别?TCP 窗口滑动机制?

UDP: UDP是无连接的,即发送数据之前不需要建立连接。 UDP尽最大努力交付,即不保证可靠交付。 UDP具有较好的实时性,工作效率比TCP高。 UDP支持一对一、一对多、多对一和多对多的交互通信。 UDP对系统资源要求较少。 TCP: TCP面向连接(三次握手) TCP通过校验,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。 每一条TCP连接只能是点到点...

2020-07-26 15:47:10 291

原创 DNS 解析全过程

首先,浏览器检查自身缓存中是否有该域名对应的 ip 地址,若有则解析结束。 如果浏览器中没有命中,就回去检查操作系统缓存中有没有对应的已解析过的结果。在 windows 中的 c盘的 hosts 文件。 如果这次也没有命中,就会取请求本地域名服务器(LDNS)来解析。一般来说,百分之80的域名解析到这就完成了。 如果 LDNS 还是没有命中,就直接跳到根域名服务器(Root Server)请求解析。 根域名服务器返回一个通用顶级域(gTLD)地址。 向 gTLD发起请求,然后讲 IP 地址联通 .

2020-07-26 15:24:06 204

原创 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 374

原创 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 2796

原创 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 341

原创 关于 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 179

原创 js 四种数据类型判断方法

一、typeof(a):日常开发中最常用的方法,在判断String、Number、undefined、Boolean、Function 时都很好用,但是 对象、null和数组的时候都返回'object'。二、a instanceof xxx:只适用于检测引用类型。三、a.constructor:利用原型链的原理,直接访问查看构造函数。基本数据类型和引用数据类型都好用,但是因为原型链的属性是可以改的,因此如果 constructor 值被改了就麻烦了。四、O...

2020-07-25 17:14:38 330

原创 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 183

转载 [转]竖排文字怎么样能够垂直居中显示?

工作中有时候会遇到竖排版,而且居中显示,这个有时候会用到,所以在这里简单说一下这个‘生僻’的属性先上图上代码width:14px;height:100%;text-align: center;writing-mode:vertical-lr;这是张鑫旭改变CSS世界纵横规则的writing-mode属性,想深入了解的,这里有详细的介绍……...

2019-12-03 11:33:07 212

原创 (头条)异步笔试题

请写出下面代码的运行结果async function async1() { console.log('async1 start'); await async2(); console.log('async1 end');}async function async2() { console.log('async2');}console.log('scrip...

2019-10-09 20:37:41 427

原创 vue.nextTick()简介

理解:nextTick(),是将回调函数延迟在下一次dom更新数据后调用,简单的理解是:当数据更新了,在dom中渲染后,自动执行该函数<template> <div class="hello"> <div> <button id="firstBtn" @click="testClick()" ref="aa">{{tes...

2019-09-24 16:59:42 108

原创 JS 中的防抖和节流

防抖:当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。// 防抖function debounce(fn, wait) { var timeout = null; return function() { if(timeout !== null) ...

2019-09-18 15:58:15 90

原创 JS里对象的深拷贝

function deepCopy(obj) { var result = Array.isArray(obj) ? [] : {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { if (typeof obj[key] === 'object' && obj...

2019-09-17 21:00:45 97

原创 关于let、var、const的区别

let 与var的二点不同:let只作用于块,即其在整个大括号 {} 之内可见。 在变量声明之前就访问变量的话,会直接提示 ReferenceError,而不像 var 那样使用默认值 undefined。let 和 const 对比: const 和 let 的作用域是一致的,不同的是 const 变量一旦被赋值,就不能再改变了。 但并不意味着...

2019-09-17 20:46:09 105

原创 层叠上下文:z-index

每一个网页都有一个默认的层叠上下文。 这个层叠上下文(桌子)的根源就是<html></html>: html标签中的一切都被置于这个默认的层叠上下文的一个层叠层上在层叠上下文中,其子元素按照上面解释的规则进行层叠。形成层叠上下文的方法有:根元素 <html></html> position值为 absolute|relative...

2019-09-17 15:06:25 170 1

原创 Javascript关于HTML5中DOM控制classList

add(value):将给定字符串值添加到列表中(若存在则不加)contains(value):表示列表中是否有这个值(True or false)remove(value):从列表中删除给定字符串toggle(value):相当于一个开关,若列表中有,则删除,若无,则添加removeProperty(propertyName):从样式中删除给定属性<!DOCTYPE ...

2019-04-25 20:44:04 143

原创 关于js中this的用法以及总结

先贴上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-eq...

2019-04-25 20:42:31 118

原创 关于通过JS获取内部样式、外部样式、内联样式

JS获取内联样式:.style.getPropertyValue()JS获取内部样式、外部样式:currentStyle需要额外注意的是,只有IE可以用currentStyle,Firefox和Chrome浏览器无法使用currentStyle,需要用到兼容性代码 HTMLElement.prototype.__defineGetter__("currentStyle", fu...

2019-04-25 20:38:38 2030

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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