自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ant design vue解决报错:You can use getFieldDecorator(id, options) instead v-decorator=“[id, options]“

报错:Warning: You cannot set a form field before rendering a field associated with the value. You can use getFieldDecorator(id, options) instead v-decorator="[id, options]" to register it before render.

2023-01-09 17:26:45 1657

原创 后台返回base64编码的图片如何在前端展示?

直接改这里src=“data:image/gif;base64,图片数据”,将获取到的数据加在后面就好了,收到的数据也不需要解码。

2023-01-06 15:59:49 1917

原创 字节面试遇到的一个超级复杂的输出题,前端人必看系列,搞定之后再也没有输出题可以难倒你

难点1:遇到Promise.resolve()/Promise.reject()就相当于平时使用时写在{}里面的内容,功能只有传参和改变promise对象的状态,如果在他们内部执行代码,也是同步代码。在原本的基础上改变了一点输出,这样的输出可能会更好理解一点,如果还是不好理解可以把这几个块分开,比如把errorFunc函数先注释一下,分块理解,就会好懂一点。难点3:await遇到promise函数的时候,如果resolve,后面的同步代码都会包裹在then(res => { 这里 })进入微队列等待执行。

2022-12-01 20:02:33 539

原创 手写reduce函数,处理好callback函数的传参以及init值,极短,面试前必看系列

重写reduce函数,重点在于最开始init值的选取,以及记得传递callback函数的四个参数。

2022-11-30 22:11:30 293

原创 超级好懂的手写flat函数!!!面试直接嘎嘎乱杀

实现办法就是利用循环(使用递归可以简单实现,即全部扁平化或者只扁平化一层,但是不好控制深度),相对来说,利用循环更好控制扁平化的深度。首先我们要知道原生的flat函数实现的是什么功能, 传递两个值,一个是用于扁平化的数组,一个是扁平化的深度。如果大家有更好的实现办法,欢迎讨论研究。

2022-11-30 20:41:03 450

原创 剑指OfferDay7 -- 大三上

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例 1:输入:s = “abaccdeff”输出:‘b’示例 2:输入:s = “”输出:’ ’限制:0

2022-10-26 22:59:09 164

原创 剑指0fferDay6 -- 大三上

一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。链接:https://leetcode.cn/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof。链接:https://leetcode.cn/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof。链接:https://leetcode.cn/problems/que-shi-de-shu-zi-lcof。

2022-10-11 22:38:52 128

原创 剑指offerDay5 -- 大三上

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。链接:https://leetcode.cn/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof。链接:https://leetcode.cn/problems/ti-huan-kong-ge-lcof。请实现一个函数,把字符串 s 中的每个空格替换成"%20"。输入:s = “We are happy.”

2022-10-10 17:09:13 166

原创 剑指offerDay4 -- 大三上

在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。输入:head = [[3,null],[3,0],[3,null]]输出:[[3,null],[3,0],[3,null]]

2022-10-09 22:57:30 176

原创 剑指OfferDay3 -- 大三上

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。链接:https://leetcode.cn/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof。链接:https://leetcode.cn/problems/bao-han-minhan-shu-de-zhan-lcof。--> 返回 -3.--> 返回 -2.输出:[null,null,3,-1,-1]

2022-10-08 21:20:33 142

原创 剑指OfferDay2 -- 大二下

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次。请你找出并返回那个只出现了一次的元素。链接:https://leetcode.cn/problems/WGki4K。nums 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:nums = [0,1,0,1,0,1,100]输入:nums = [2,2,3,2]这是一种题解,用的是哈希的方法来实现的。来源:力扣(LeetCode)

2022-10-08 16:59:57 399

原创 剑指OfferDay1 -- 大二下

目录剑指 Offer II 001. 整数除法剑指 Offer II 002. 二进制加法剑指 Offer II 003. 前 n 个数字二进制中 1 的个数padStart(),padEnd()方法剑指 Offer II 001. 整数除法给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’ 。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.733

2022-05-12 22:01:39 352

原创 浅学axios --大二下第九周

目录axios网络模块axios请求方式axios并发请求全局配置常见的配置选项对axios进行简单封装如何使用axios的拦截器axios功能特点:在浏览器中发送XMLHttpRequests请求在node.js中发送http请求支持Promise API拦截请求和响应转换请求和响应数据等等网络模块Vue中发送网络请求有非常多的方式传统的Ajax是基于XMLHttpRequest(XHR)不使用的原因:配置和调用方式等都非常混乱,编码不够优美,所以真实开发中很少使用,而是使用

2022-04-26 22:12:07 572

原创 浅学Vuex -- 大二下

这里写目录标题Vuex基本操作vuex中的属性含义Vuex官方:用集中式存储管理应用的所有组件的状态,并用相应的规则保证状态以一种可预测的方式发生变化。人话:用一个对象来响应式的管理多个组件的共同数据Vuex就是提供了这样的一个在多个组件间共享状态的插件基本操作先下载vuex插件创建store文件夹,在这个文件夹的目录下面的index.js中,先引入vuex,然后安装vuex插件,再创建Vuex对象,完善对象中的内容,最后导出store对象在main.js中引入store在一个项目里

2022-04-23 22:25:08 1623

原创 浅学vue-router -- 大二下

目录vue-router基本使用配置路由的默认路径关于router-link的属性动态路由路由的懒加载三种写法嵌套路由参数传递导航守卫keep-alive箭头函数中的this就是找最近的作用域中的thisvue-router就是通过互联的网络把信息从源地址传到目的地址的活动,vue-router用于设定访问路径,将路径和组件映射起来vue-rounter就是用于单页面富应用,用来管理不同组件在页面中的显示情况改变url但页面不刷新,有以下的方法可以实现:通过直接赋值location.hash来

2022-04-14 18:45:46 1186

原创 Vue CLI -- 隔离后的学习2

目录Vue CLIVue CLI2runtime+compiler 和 runtime-only 的区别Vue CLI3Vue CLI命令行界面,俗称脚手架可以快速搭建Vue开发环境及对应的webpack的配置安装的时候需要npm 和 nodevue --version检查脚手架的版本npm install -g @vue/cli-init 拉取脚手架2x版本2的初始化项目 vue init webpack my-project3的初始化项目 vue create my-projectVu

2022-01-12 00:20:42 332

原创 webpack的后续 -- 隔离后的学习即2022第一次学习

目录webpack中的loaderless文件图片文件es6语法处理引入vue.jsel 和 template的关系plugin压缩jswebpack中的loaderless文件使用less文件的操作方法和使用css文化的差不多,只是要安装不同的loader,安装不同的loader只需要在webpack官网里面找到相应的loader和配置图片文件可以使用url-loader这个loader来打包文件但是这个在webpack.config.js文件中的配置有一个选项,就是下面那个,他表示图片最大不

2022-01-10 00:20:38 616

原创 关于VUE报错: You are using the runtime-only build of Vue where the template compiler is not available. E

vue是开发两种版本的,分别是runtime-only 代码中不可以有任何的templateruntime-compiler 有compiler可以编译template在一般情况下,将id为app的挂载在div里面,那个div其实就是相当于那个vue的template。至于如何解决这个问题,需要在webpack.config.js文件中exports加上下面的代码;resolve:{ alias:{//别名的意思 'vue$':"vue/dist/vue.esm.js"//因为这个

2022-01-08 17:19:20 477

原创 父子组件具体访问 + 插槽slot + 模块化开发webpack -- 大二上第十五周

目录父子组件的相互通信实例父子组件的访问方式插槽slot具名插槽作用域插槽模块化开发webpackwebpack.config.js 和 package.jsoncss文件的配置 -- loader父子组件的相互通信实例子组件不能改变父组件内部的值如果想要改变从父组件传入子组件的数值,可以通过data重新定义变量或者使用计算属性<div id="app"> <cpn :number1="num1" :number2="num2" @num1change="num1chang

2021-12-12 21:20:21 780

原创 遇到报错: Module build failed: TypeError: this.getOptions is not a function

在用webpack下载loader打包css文件的时候遇到的错误,主要原因就是不兼容只需要改变一下style-loader和css-loader的版本就好了npm install -save -dev [email protected] install -save -dev [email protected]

2021-12-12 21:17:26 1074

原创 vue之v-show, v-for,v-model, 组件化 -- 大二上十三周十四周

目录vuev-showv-for组件keyv-modelinput:radioinput:checkboxselect值绑定修饰符组件化全局组件和局部组件父组件和子组件分离组件模板组件内部的data父子组件通信父传子子传父vue在vue中,他会使用虚拟dom来调用内部,当时v-if v-else的时候,他会复用一些已有的信息,如果不想被复用的话,可以给加上key值,只要两个的key值不一样,就不会复用v-show和v-if查不多,区别就是当判断条件是false的时候,v-if会直接删掉那个元素,而v

2021-12-05 20:14:11 1623

原创 图 -- 大二上十三周十四周

图一般是一组顶点(vertex)和一组(eage)边按照邻接矩阵来表示,如果是稀疏图(就是图中有很多0),就表示我们用了大量的内存来存储压根儿就没有的边,这是邻接矩阵的一个缺点图的实现function Graph() {//邻接表记录图的具体存储情况 // 属性:顶点,边 this.vertexes = []; this.edges = new Dictionary();//用了字典 // 方法 // 添加顶点 Graph.prototype.addVertex = fun

2021-12-05 20:12:00 349

原创 二叉树 -- 大二上第十一周十二周

树二叉树二叉树的存储可以用数组(完全二叉树)也可以用链表(推荐)二叉搜索树所有的左子树都小于根节点,所有的右子树都大于根节点其实就是二分法转化成二叉树结构,但是最开始的数可能不是最中间的数二叉搜索树的代码封装function BinarySerachTree() { function Node(key) { this.key = key; this.left = null; this.right = null; }

2021-11-21 19:33:50 622 4

原创 vue的基本操作 -- 大二上第十一周十二周

目录vuevue基本操作插值操作(就是把data里面的文本数据插入到html中)静态插入动态插入(v-bind)v-bind 动态绑定classv-bind 动态绑定style计算属性事件监听(v-on)v-on的修饰符条件判断vue创建vue实例的时候,传入一个对象optionsel:string/htmlelement 作用:决定之后vue实例会管理哪个DOMdata:object/function 作用:vue实例对应的数据对象(组件里面必须是函数)methods:{[key:strin

2021-11-21 19:30:15 1000

原创 链表 -- 大二上第十周

目录链表双向链表链表链表的封装function LinkList() { // 内部的类:节点类 function Node(data) { this.data = data; this.next = null; } this.head = null; this.length = 0; LinkList.prototype.append = function (data) { var newNo

2021-11-07 19:50:12 210

原创 初探vue --大二下第十周

目录vuevue的MVVM小结vuevue是一个渐进式的框架,渐进式意味着可以把vue作为应用的一部分嵌入其中,然后带来更丰富的交互体验有很多特点和web开发中常见的高级功能解耦视图和数据可复用的组件前端路由技术状态管理虚拟dom<div id="app">{{message}}</div><script src="vue.js"></script><script> // 声明式编程,之前的依赖于原生js的编程范式称之

2021-11-07 19:45:50 147

原创 MySQL -- 大二上第四周

目录MySQL的基本使用SQL在项目中操作MySQLMySQL的基本使用varchar括号里面表示字符串最长的长度default/expression表示默认值SQLSQL:结构化查询语言,专门用来访问和处理数据库的编程语言,可以让我们以编程的形式操作数据库里面的数据,只能在关系型数据库中使用,非关系型数据库不支持SQL语言(如MongoDB)主要学一下基本操作,增删改查,where条件,and / or运算符, order by排序, count(*)函数SELECT语句用于从表中查询

2021-09-26 22:59:20 673 1

原创 栈 + 队列(简单版,用js的数组实现)+ 优先级队列 -- 大二上第四周

目录数据结构栈队列数据结构线性表可以用数组和链表来实现目前的栈和队列的封装都是基于数组(因为js里面对于数组的函数有很多,在开始会比较容易)栈function Stack() { this.items = []; Stack.prototype.push = function (element) { this.items.push(element); } Stack.prototype.pop = function () { r

2021-09-26 22:56:29 230

原创 axios + MySQL初始 + 懒加载(demo含代码) -- 大二上第三周

目录axiosMySQL懒加载axiosaxios用于浏览器和node.js的基于Promise的HTTP客户端,是同构的(可以在具有相同代码库的浏览器和node.js中运行)。在服务器端使用本地node.js的http模块,在客户端(浏览器)使用XMLHttpRequests执行get请求const axios = require('axios');axios.get('/user?ID=12345') .then(function (resquest) { con

2021-09-21 20:53:50 292

原创 本地存储 -- 大二上第二周

目录cookieLocalStorage, sessionStorageStorage事件一周小结cookiecookie是直接存储在浏览器中的一小串数据,是HTTP协议中的一部分最常见的用处之一就是身份验证(有时间可以做一个demo)document.cookie可以访问,如果要写入,这个不是数据属性,是访问器(getter/setter),对他的赋值会被特殊处理,就是只会更新提到的cookie,而不会涉及其他cookie这样将页面刷新或者重新打开数据都还在理论上讲cookie的名称和值可以

2021-09-12 15:50:34 220 1

原创 getting/setting + 继承的六种方法 + 考核总结 -- 大二上第一周

目录JS复习属性标志对象的访问器属性继承的六种方法1.构造函数式继承2.原型链式继承3.组合继承(原型链 + 构造函数)(不建议)4.原型式继承5.寄生式继承6.寄生组合式继承(最常用)考核总结JS复习属性标志属性值默认为true,一般情况下下面三个是不会出现的Object.defineProperties方法可以用来一次定义多个属性Object.getOwnPropertyDescriptors方法是一次获得所有的属性描述符对象的访问器属性对象有两种属性,一种是数据属性,另一种是访问器属性

2021-09-05 21:43:19 459

原创 Node.js的后续 + 一个关于正则表达式的demo -- 暑假Day15

demo1需求:这个模式用户输入只能输入英文字母,数字,下划线和短横线长度在6-16之间<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-

2021-07-30 21:58:13 140 1

原创 Node.js补充(事件循环 + EventEmitter + Buffer + stream + 全局对象 + util) -- 暑假Day14

目录Node.js补充事件循环EventEmitter 类Buffer(缓冲区)stream(流)全局对象utilNode.js补充Node.js的组成NPM,是和Node.js一起安装的包管理工具REPL,交互式解释器,就相当于在窗口中直接进行编辑,感觉没什么用回调函数,异步编程的直接体现就是回调函数阻塞代码:按顺序执行的代码非阻塞代码:不按顺序,可以在加载外部文件之前执行后续显示代码事件循环Node.js 是单线程应用程序,里面的几乎每个API都支持回调函数基本上所有的事

2021-07-28 22:09:09 182 1

原创 promise的一些补充 + git的基础命令 -- 暑假Day13

目录Promise 的一些补充git的基本操作GitHub中远程仓库的两种访问方式Promise 的一些补充finally方法;相当于中转站,当promise的状态发生改变之后就会执行,他的存在不影响then和catch,他会将promise的结果传递下去git的基本操作git init命令就是相当于建立本地仓库git status命令检查文件处于什么状态-s精简查看两个红色问号是表示未跟踪状态绿色的A表示新添加到暂存区的文件红色的M表示文件被修改过,暂时没有放入暂存区绿色的M

2021-07-28 10:44:41 130

原创 静态资源和动态资源 + 路由 + 同步/异步API + defer和async --暑假Day12

目录静态资源和动态资源路由同步API,异步APIdefer 和 async静态资源和动态资源静态资源:服务器端不需要处理,可以直接响应给客户端的资源就是静态资源,例如css,js,html文件动态资源:相同的请求地址不同的响应资源静态文件访问的代码const http = require('http');const url = require('url');const path = require('path');const fs = require('fs');const mime =

2021-07-26 22:25:09 306

原创 gulp + 服务器 --暑假Day11

目录第三方模块Gulppackage.jsonNode.js中模块加载机制Node.jsNode.js全局对象global服务器url创建web服务器HTTP协议请求报文响应报文第三方模块Gulp基于node平台开发的前端构建工具机器代替手工,提高开发效率可以进行语法转换,项目上线时的文件压缩合并,公共文件抽离,修改文件浏览器会自动刷新gulp.src():获取任务要处理的文件gulp.dest():输出文件gulp.task():建立gulp任务第一个参数是任务的名称,第二个参数是任务的

2021-07-24 12:20:53 138

原创 async和await + 宏队列和微队列 + Node开发 -- 暑假Day10

目录async和awaitasyncawait宏队列和微队列Node开发Node.js中模块化开发规范系统模块系统模块fs文件操作系统模块path路径操作第三方模块async和awaitasync函数的返回值是promise对象promise对象的结果是由async函数的返回值决定的,和then的差不多await右侧表达式一般为promise对象,但也可以是其他值如果表达式是promise对象,await返回的结果 必须是promise成功的值,不是promise,返回值本身await必须写

2021-07-22 22:19:19 314 8

原创 Promise的关键问题 + 手写Promise -- 暑假Day9

Promise的几个关键问题如何改变promise的状态?调用resolve就是成功,调用reject就是失败,还有一个抛出异常,然后当前是pending就会改变为rejectedconst p = new Promise((resolve, reject) => { throw new Error('出错了');})console.log(p);[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sf53oMMA-1626920223490)(4.

2021-07-22 10:19:38 113

原创 回调函数 + ERROR + promise --暑假Day8

目录关于error错误类型错误处理错误对象promise状态基本使用promise的APIPromise的语法关于error错误类型Error: 所有错误的父类型EvalError:eval()的定义和使用不一致RangeError:数值越界也有可能会是死循环ReferenceError:非法或不能识别引用数值SyntaxError:发生语法解析错误TypeError:操作数类型错误URIError:URI处理函数使用不当错误处理捕获错误:try

2021-07-20 22:26:02 357

原创 解构赋值 + 扩展运算符 + string新增方法 + Map + Set -- 暑假Day7

目录解构赋值扩展运算符string的新增方法startsWith() 和 endsWith()repeat()方法MapMap的方法迭代Setset的方法迭代解构赋值分解数据结构,一一赋值es6中允许从数组中提取值,按照对应位置,给变量赋值,也可以对对象进行结构let arr = [1, 2, 3];let [a, b, c, d, e] = arr;console.log(a);//1console.log(b);//2console.log(c);//3console.log(d);/

2021-07-19 22:30:36 138

空空如也

空空如也

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

TA关注的人

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