自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_44665959的博客

css边框border多边定义定义方法

  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 面试官:手写一个call、apply、bind?

手写call、apply、bind

2022-07-04 16:41:38 161 2

原创 VUE源码解析-响应式原理的实现

前言相信vue学习者都会发现,vue使用起来上手非常方便,例如双向绑定机制,让我们实现视图、数据层的快速同步,但双向绑定机制实现的核心数据响应的原理是怎么样的呢,接下来让我们开始介绍:function observer(value) { //给所有传入进来的data 设置一个__ob__对象 一旦value有__ob__ 说明该value已经做了响应式处理 Object.defineProperty(value, '__ob__', { value: this, //当前实例 也就是new o

2022-03-27 22:29:33 1371

原创 JavaScript深入解析原型到原型链

原型我们知道在每一个JavaScript函数中都有一个prototype 属性,相信我们在文章、书籍中的各个例子都可以看到,例如function fun() {}// prototype是函数才会有的属性fun.prototype.name = 'vhome';const fun1 = new fun(), fun2 = new fun();console.log(fun1.name) // vhomeconsole.log(fun2.name) // vhome输出name值

2022-03-16 01:21:33 1022

原创 TypeScript封装微信小程序请求实战

前言最近第一次做原生微信小程序,之前都是采用Taro、uni这两个第三方框架,发现微信原生小程序支持了TypeScript,于是尝试了使用ts结合Promise封装了微信简易请求库,不得不说,写ts确实可以减少动态语言(JS)带来的bug,如下:const host = 'xxx';/** * http请求配置*/interface RequestConfig { url: String; method?: HttpMethod; data?: any; nee

2022-03-10 20:38:12 2146

原创 简单的前端任务队列

背景在开发中,我们会遇到一些使用多个异步请求但返回数据需要按序的问题,如前端导出、多个文件上传,你可能会想到使用结合并发限制下分组处理使用Promise.all,虽然说这种方式可以提高请求的速度,但终归的得等到所有响应回来后才可进入下一个分组。这时候我们就可以用结合并发数,结合队列的特点让请求有序发出。介绍结合网上其他大佬的做法实现了一些改造,接下来让我们来介绍一下如何实现一个在限制最大同时并发数同时并在请求失败时可以重发的通用请求并发队列:export default class RequestQ

2022-03-06 19:37:27 1566

原创 一文解析TCP知识体系

TCP(传输层协议)特点:1. TCP是面向连接的。应用程序在使用TCP之前,必须先建立连接。在数据传输结束后,会马上释放已经建立的连接。2. TCP提供可靠的交付服务。通过TCP传输的数据,保证完整性、不丢失、不重复。3. TCP连接是点对点的。每一条TCP连接只能有两个端点,这个端点叫套接字(socket),即是两个IP。4. TCP是面向字节流的。流,指的是流入到进程或从进程流出的字节序列。面向字节流是指:虽然应用程序和TCP的交互是一次一个数据块,但是TCP把应用层传递过的数据看成一串无

2022-03-03 20:49:49 1323

原创 一文详解HTTP知识体系

http: 应用层超文本传输协议HTTP特点常见content-type字段类型HTTP请求方法GET与POST区别:1. GET在浏览器回退时是无害的,而POST会再次发起请求2. GET请求会被浏览器主动缓存,而POST不会,除非手动设置3. GET请求参数会被安逗保留在浏览器历史记录里,而POST中的参数不会被保留4. GET请求在URL中传递的参数有长度限制(浏览器限制大小不同),而POST没有限制5. GET参数通过URL传递,POST放在Request body中6. G

2022-02-28 01:26:58 1954

原创 window系统下node版本管理nvm下载使用及npm镜像源nrm下载

NVM下载及配置下载地址: https://github.com/coreybutler/nvm-windows/releases 根据自己盘符放置下载位置配置进入nvm安装路径下打开settings文件加入下列配置下载源镜像源node_mirror: https://npm.taobao.org/mirrors/node/npm_mirror: https://npm.taobao.or

2021-08-31 19:51:14 856

原创 手写一个Promise.all与Promise.race(前端高频面试题)

前言我们知道promise是es6中异步解决方案,极大的改善了回调地狱的问题,promise中也有很多api是我们日常开发中高频使用的,这里着重介绍Promise.all与Promise.racePromise.all我们使用Promise.all场景大多数是在需要一次性发送多次没有关联的请求,而它刚好能并行发送http请求,避免了网络拥塞情况,下面是实现原理 Promise.prototype.myAll = function (array) { if(!Array.isA

2021-03-19 01:29:50 519 3

原创 手写一个Promise

关于PromisePromise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法实现原理我们都知道Promise有三个状态,分为pending(挂起)、fulfilled(成功)、reject(失败),接下来让我们看看源码实现,这里简单编写了一个类,另外一种向外暴露Promise方法不在此实现class Promise{ constructor(executor) { this.status

2021-02-20 20:51:56 89

原创 Sublime配置下载Terminal插件最全版

前言关于Sublime配置Terminal插件,由于我是从网上下载压缩包,打开后发现并不能和其他教程一样在sublime内置那样下载,所以我采取了自己去官网下载,下面我打包好了package Control下载,提取码wh66以下教程适合在ctrl+shift+p打开下载contorl失败使用:点击上方菜单栏目找到Preferences -》Browse packages就进入Packages文件,此时点击data:找到Installed Packages文件,将下载好的Package Contr

2020-09-17 15:45:53 946

原创 js实现继承的几种常见方式

前言对于JavaScript而言,其没有明确的继承机制,因此js继承是以模仿来实现的,实现继承有以下通用的几种方式:一、原型链继承 function person(name) { this.name = name this.arr = [1,2,6,4,7] } person.prototype.eat = function () { console.log('吃饭') } function maliu(age) {

2020-09-05 17:35:40 168

原创 JavaScript中创建实例时,new做了什么?

随手写的New原理大致实现过程function dog(name) { this.name = name } function _new(fn,...args) { let obj =Object.create(fn) //创建实例 fn.call(obj,...args) //传输参数 return obj } let blw = _new(dog,'blw') console.log(blw.nam

2020-08-29 02:25:11 468

原创 原生js封装ajax以及原生js封装通过jsonp跨域解决问题

原生js封装ajax代码如下,调用时候类似于Jquery封装的ajaxfunction myajaxnormol(obj){ defaults={ type:"get", //获取类型 url:"#", //目标地址 datetype:"json",//数据类型 data:{}, //key-value值 asnyc:true...

2020-04-22 10:49:24 291

空空如也

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

TA关注的人

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