自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP协议笔记

HTTP技术学习HTTP报文结构起始行头部空行实体HTTP的请求方法有哪些请求方法GET和POST的区别如何理解URIURI的结构URI编码HTTP的特点HTTP的优点HTTP的缺点HTTP传输定长和不定长的数据定长包体不定包长HTTP报文结构对于TCP而言,在传输的时候分为两部分:TCP头和数据部分HTTP也类似,也是header + body结构,具体如下:起始行 + 头部 + 空行 + 实体起始行对于请求报文来说,起始行格式为方法 + 路径 + http版本:GET /hom.

2022-07-25 17:08:07 290

原创 了解正则表达式基础

正则表达式基础介绍作用特点组成正则表达式的组成元字符限定符中括号或模式分组模式修饰符正则转义符JS中使用正则表达式正则表达式对象介绍正则表达式是对字符串操作的一种逻辑公式,实现定义好一些特定字符串以及这些字符串的组合,组成一个“规则字符串”,这个规则字符串用来表达对字符串的一种过滤逻辑。作用给定的字符串是否符合正则表达式的过滤逻辑(匹配)从字符串中获取想要的特定部分(提取)替换指定字符串(替换)特点灵活性、逻辑性、功能性可迅速的用简单的方法达到对字符串的操作组成普通字符abc

2021-11-17 15:51:00 116

原创 前端设计模式

前端设计模式工厂模式单例模式工厂模式工厂模式根据抽象程度可以分为三种:简单工厂模式、工厂方法、抽象工厂、其核心在于将创建对宪法的过程封装,然后通过同一个接口创建新的对象、简单工厂模式又叫静态工厂方法,用来创建某种产品对象的实例。简单工厂class Factory { constructor(userName, password, role) { this.userName = userName this.password = password this.role = role }

2021-11-15 17:58:21 100

原创 this指向解析

this指向1. 调用位置2. 绑定规则1. 默认绑定严格模式2. 隐式绑定隐式丢失3. 显示绑定硬绑定API调用的“上下文”4. new绑定5. 箭头函数中的this指向3. 判断this的优先级1. 调用位置在理解this的绑定过程之前,首先是要理解调用位置:调用位置就是函数在代码中被调用的位置(不是声明的位置),只有明白调用位置,才能弄懂this到底引用的是声明。function baz() { // 当前调用栈 // 当前调用位置是全局作用域 console.log('baz') b

2021-11-08 16:18:03 423

原创 Vue3知识点

Vue3知识点Vue3的改变`Composition API`(组合式API)`setup``watch`和`watchEffect`的区别Vue3的响应式原理Vue3的改变新增三个组件:Fragmeng支持多个根节点;Suspense可以在组件渲染之前的等待时间显示指定内容;Teleport可以让子租金啊在视觉上跳出父组件新指令v-memo,可以缓存html模板,比如v-for不会变化就缓存支持Tree-Shaking,在打包时去除无用代码、没用到的模块,使打包体积更小新增Compositio

2021-11-04 14:40:13 254

原创 封装axios

axios封装npm i axiosaxios.jsimport axios from 'axios'class HttpRequest{ constructor(baseUrl) { this.baseURL = baseUrl } InitConfig() { const config = { baseURL: this.baseURL, timeout: 3000, headers: { "Content-Type": "applicatio

2021-11-02 16:45:00 81

原创 JS在浏览器中的执行机制

JS在浏览器中的执行机制异步 && 同步JS执行机制宏任务 && 微任务宏任务微任务解题思路FirstSecondThirdFourthFifthSixth异步 && 同步什么是异步什么是同步?同步:当你收拾家务,先扫地,再洗衣服,最后晾衣服异步:当你收拾家务,先洗衣服,再扫地,等衣服洗完最后晾衣服JS执行机制JS执行机制,总结为三句话:遇到同步代码直接执行遇到异步代码先放一边,并将它的回调函数存起来,存的地方叫事件队列等所有同步代码

2021-10-29 17:23:19 305

原创 ES6常用技巧

ES6常用技巧结构取值合并数据if判断数组扁平化结构取值const obj = { a: 1, b: 2, c: 3}const { a, b, c } = objconst d = a + bconsole.log(d) // 3const { a: a1 } = objconsole.log(a1) // 1合并数据合并数组const a = [1, 2, 3]const b = [1, 4, 5]const c= [...new Set([...a, ...b]

2021-10-12 11:32:36 55

原创 字符串转驼峰命名

字符串转小驼峰function transformToCamelCase(str) { if(typeof(str) !== 'string') { return '' } else { let strTemp = str.split('-') for(let i = 1; i < strTemp.length; i ++) { strTemp[0] = strTemp[0].toLowerCase() strT.

2021-07-29 12:01:27 191

原创 前端输入框校验

Vue + ElementUi实现输入框校验安装npm i element-ui -S挂载import Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'Vue.config.

2021-07-28 16:57:34 854

原创 JS获取URL中的参数并转成对象格式

function getUrlObj(url) { var params = url.split('?')[1].split('&') // ["name=jack", "age=1", "id=001"] var obj = {} params.map((item) => ( obj[item.split('=')[0]] = item.spilt('=')[1] )) return obj}console.log(getUrlObj('https://www.abc.co

2021-07-28 11:45:47 350

原创 JavaScript的作用域和作用域链

JavaScript的作用域和作用域链作用域(scope)作用域链作用域(scope)什么是作用域概念:作用域是在运行代码中,某些特定部分中变量,函数和对象的可访问性。作用:作用域相当于独立的地盘,不会让变量泄露、暴露出去;可以起到隔离变量的作用,不同作用域下同名变量不会起冲突。注:ES6之前没有块级作用域,只有函数作用域和全局作用域。全局作用域和函数作用域在代码中任何地方都能访问到的对象拥有全局作用域。以下几种清醒拥有全局作用域:最外层函数和在最外层函数外定义的变量var out

2021-07-27 17:40:03 58

原创 JS的原型与原型链

JS原型与原型链构造函数创建对象prototype_proto_constructor原型链构造函数创建对象// 创建构造函数 Personfunction Person() {}// new 实例化 person 对象var person = new Person()person.name = 'jack'console.log(person.name) // jackprototype每一个函数都有prototype属性(只有函数才会有prototype),该属性就是函数的原型。每

2021-07-26 17:15:50 64

原创 Vue使用identify实现验证码

Vue使用identify实现验证码Identifyidentify.vue组件组件引入测试效果:Identifyidentify是一款使用使用canvas来生成图形验证码的vue插件。是一款使用使用canvas来生成图形验证码的vue插件。npm i identifyidentify.vue组件在src/components文件夹创建SIdentify.vue文件(用于定义参数和方法),复制以下代码:<template> <div class="s-canvas"&g

2021-06-25 14:07:08 454

原创 Proxy代理解决跨域

跨域端口,域名,协议有一个不同就会造成跨域Proxy跨域原理浏览器会因为同源策略跨域,但服务端不禁止,npm run dev 本来就是运行了服务器,所有利用服务器发送请求即可(将所有请求转发到自己的node服务器然后发送请求 即 代理)Proxy跨域配置安装插件npm install --save-dev http-proxy-middleware在最外层建立 vue.config.js 文件 module.exports = { devServer: { proxy:{ '

2021-04-02 17:44:58 389

原创 vue项目中使用token登录验证

vue项目token登录验证Token是在客户端频繁向服务器发送请求,服务器需要频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码是否正确,并作出相应提示,在这样的背景下,toekn技术便营运而生。什么是token?Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。为什么要使用token?使用token是为了减轻服务器的压力,减少

2020-12-16 17:34:15 442

原创 immutable在redux中的使用

什么是immutable Data?Immutable Data 就是一旦创建,就不能再被更改的数据。对 Immutable 对象的任何修改或添加删除操作都会返回一个新的 Immutable 对象。Immutable 实现的原理是 Persistent Data Structure(持久化数据结构),也就是使用旧数据创建新数据时,要保证旧数据同时可用且不变。同时为了避免 deepCopy 把所有...

2020-02-22 13:37:34 1904

空空如也

空空如也

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

TA关注的人

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