- 博客(370)
- 收藏
- 关注
原创 前端中高级基础知识面试汇总
保持学习,保持热爱。持续更新ing~前端基础github地址。README.md可以下载到typora中打开,会有整个大纲目录显示(github中markdown目录快捷生成方式不现实,之后可能会想办法生成贴过来,暂时不做相关处理)前端基础gitbook地址。README.md中会实时更新进度内容。gitbook中考虑整个学完整理完成之后,再去统一处理发布,敬请期待!gitbook版本可建议后期碎片化时间进行复习使用。前端基础csdn地址。CSDN博客专栏前端自我修养进阶中,也会一篇一篇实时更新相关
2021-05-17 14:53:49 9987 37
原创 gz、zip等压缩文件postman成功下载但是前端项目中下载解压失败
【代码】gz、zip等压缩文件postman成功下载但是前端项目中下载解压失败。
2024-12-30 11:49:38 369
原创 【node01】nvm node版本管理
你可以使用NVM命令行工具来安装、切换和管理Node.js的不同版本。可以看到最新的LTS版本,现在是v20.12.2,那么就安装这个版本。:使用curl或wget命令下载并运行NVM的安装脚本。:关闭并重新打开终端,或运行以下命令以使NVM生效。:首先,确保你的Ubuntu系统是最新的。:使用NVM安装特定版本的Node.js。应替换为NVM的最新版本号,例如。:安装必要的依赖,如。
2024-12-17 14:32:09 245
原创 sentry前端接入 报错403
参考 CSRF Verification Failed · Issue #5586 · getsentry/sentry-javascript · GitHub。卸载默认安装的前端7版本,重新安装6.17.4【注意:6.0.0版本的也不行】可以直接在进入页面时,原因:包版本不匹配,
2024-11-27 14:07:06 299
原创 前端崽的java study笔记
sprint boot特性:起步依赖(maven坐标):解决配置繁琐的问题,只需要引入sprint boot起步依赖的坐标就行自动配置其他特性内嵌的tomcat和、jetty (不需要部署WAR文件)外部化配置不需要XML配置(properties、yml)
2024-05-10 23:29:44 349 4
原创 vue3 setup + ts 项目模块找不到问题解决:Cannot find module ...
打开vscode配置面板,查找typescript;是使用workspace version,完事儿。
2023-12-26 14:21:31 324
原创 Component inside <Transition> renders non-element root node that cannot be animated
这个warn是因为组件中包裹的不是一个单节点元素。
2023-06-25 10:43:26 244 1
原创 vue2.0基础
补充:Vue中数组项变化可以监听到方式收集表单数据过滤器通过父组件给子组件绑定一个自定义事件实现父给子传递数据形式父组件< Student v-on:componentName = "funcName" > < /Student > //简写形式: @componentName = "funcName" //方法只执行一次 @componentName.once = "funcName" .. .父组件接收另外一种形式这种方式灵活性强只执行一次的写法子组件。
2023-06-04 22:41:59 645
原创 React从Class方式转Hooks
文章目录React Hooks前言Why Hooks ?For ClassFor FunctionClass & Hooks 对比React Hooks前言之前工作三年中一直在用class方式去写前端功能页面这些,其实接触hooks也是有一定时间了。在第一次接触的时候应该是看了一门关于electron+react的项目的课程的时候。当时主要是去看electron,所以对hooks没有特别的关注。也有可能是长期以来对class的熟悉,当时对hooks这种函数式的写法也有一些抵触。但是由于业内对h
2021-09-28 16:32:10 2538
原创 算法&数据结构
文章目录数组单链表双链表数组查询O(1)插入平均O(n)删除平均O(n)单链表插入和删除非常多的情况,改善插入和删除单链表的变形,有头指针和尾指针,很方便的知道头部和尾部在哪链表的常见操作,插入和删除。插入和删除O(1)查找O(n)双链表有前驱也有后继,查询链表的数据的时候更加方便...
2021-09-22 10:10:42 319 1
原创 DDD领域驱动开发
文章目录DDD(Domain Driving Design)领域驱动开发架构对比微服务的问题战略设计(业务层面-业务架构)战术设计(技术层面-系统架构):DDD和微服务DDD(Domain Driving Design)领域驱动开发架构对比单机架构:数据驱动架构集中式架构:面向对象的方式(三层架构)分布式微服务架构:应用之间解藕,解决单体用扩展性和弹性伸缩能力不足问题微服务的问题微服务粒度怎样拆分边界是什么DDD 核心思想是通过领域驱动设计方法定义领域模型
2021-09-15 14:47:42 4245
原创 TS基础知识
文章目录TS基本类型编译选项面向对象类:对象的模型(包含:属性&方法)TS基本类型如果变量的声明和赋值是同事进行,ts可以自动给变量进行类型检测也可以直接使用字面量进行类型声明(但是字面量赋值之后就不能再修改了)//也可以直接使用字面量进行类型声明,但是字面量赋值之后就不能再修改了let a:10;let b:'fa'|'ma'; //枚举:这样的话b就可以赋值为fa或者mab = 'fa'b = 'ma'可以使用|连接多个类型。联合类型(限制变量在某几个值之
2021-08-23 14:53:43 1530
原创 react合成事件
react合成事件是什么?用了很久都没有踩合成事件的坑,于是第一次react合成事件这个词出现在我视野中,我在脑袋中搜索,居然完全没有一点印象。于是赶紧去看了一下,React合成事件。简而言之:react内部自己通过事件冒泡实现了一套事件触发机制。????那么合成事件和原生事件的区别是什么?怎样区分呢?原生事件: 在 componentDidMount生命周期里边进行addEventListener绑定的事件合成事件: 通过 JSX 方式绑定的事件,比如 onClick={() =>
2021-07-29 11:19:51 542
原创 手写Promise的实现
手写Promise的实现(then的链式调用)promise特点分析:Promise参数函数会立即执行promise在then的回调函数中可以拿到resolve的值promise可以有多个then并且依次链式调用执行promise可以嵌套多个then,并且then中也是可以返回Promiseresolved状态的promise调用then会立即执行二次调用resolve不会产生影响实现思路promise是一个对象,一般通过new进行实例化promise的then是可以链式调用的,因
2021-07-20 16:40:34 383
原创 【查漏补缺系列】前端基础补充
主要是根据自己没有掌握好以及还没有了解的部分进行补充。github地址。github会实时更新,可以下载用markdown查看。1、require和import的区别规范:require是node的commonjs规范;import是ES6的模块化规范可否动态:require支持动态导入;import不支持动态导入导入方式:require输出的是一个值的拷贝;import输出的是一个值的引用位置:import可以在import模块引入之前使用,但是require只能在引用之后使用是否可以在模块
2021-07-19 18:34:04 315
原创 【Review系列】三大基础排序
冒泡排序数组当前项跟后一项进行对比,如果当前项比后一项大那么两项交换位置let ary = [23,31,4,7,3,9]function bubble(ary){ for(let i = 0;i<ary.length-1;i++){ //控制比较轮数 for(let j = 0;j<ary.length-1-i;j++){ //每一轮比较的次数 ary[j]>ary[j+1]?[ary[j],ary[j+1]]=[ary[j+1],ary[j]]:nul
2021-06-23 09:41:46 181 1
原创 【Review系列】把公司1-12个月的销售额存在对象中
把公司1-12个月的销售额存在对象中方法一let obj = { 1:222, 3:444, 5:345}let arr = new Array(12).fill(null).map((item,index)=>{ return obj[index+1]||null})方法二obj.lengthlet obj = { 1:222, 3:444, 5:345}obj.length = 13 //将其长度强行赋值到13,那么它有13位并且不对应
2021-06-21 15:27:03 235 1
原创 【Review系列】旋转数组
旋转数组截取拼接function rotate(k){ //参数处理 if(k<0 || k === 0 || k === this.length){return this;} if(k > this.length){k = k%this.length} //旋转数组 //return arr.slice(-k).concat(arr.slice(0,arr.length-k)) //方法一:slice(-k)从后面取k个 //return [...this.spli
2021-06-21 15:26:19 150
原创 【Review系列】求两个数组的交集
求两个数组的交集let num1 = [1,4,2,6,9]let num2 = [3,4,7,2]//方法一let arr = []for(let i = 0;i < num1.length;i++){ let item1 = num1[i] for(let j = 0;j<num2.length;j++){ let item2 = num2[j] if(item1 === item2){ arr.push(item1) num1[i
2021-06-21 15:25:34 141
原创 【Review系列】函数柯里化及其应用
请实现一个函数满足以下功能add(1) //1add(1)(2) //3add(1)(2)(3) //6add(1)(2,3) //6add(1,2)(3) //6add(1,2,3) //6函数柯里化,利用闭包的保存的特性,实现预先处理的方法function currying(fn,len){ //可执行多少次 len = len||fn.length; //函数的length是获取函数的形参个数 return function(...arg..
2021-06-18 09:14:52 255
原创 【leetcode】每日leetcode一题
其实有些思路算法挺有意思的,决定开始刷刷leetcode,先从简单的题开始吧!非最优解,仅记录分享6.16/** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function(nums, target) { let result = null for(let i =0;i<nums.length-1;i++){ for(let
2021-06-17 09:14:14 463
原创 【Review系列】前端经典题之对象调用数组方法
写出以下的obj的值:let obj = { 2:3, 3:4, length:2, push:Array.prototype.push}obj.push(1) //obj[2] = 1obj.push(2) //obj[3] = 2console.log(obj)分析://模拟数组的push方法Array.prototype.push = function(val){ this[this.length] = val; //往数组中push一个val,也就
2021-06-16 16:50:34 228
原创 【Review系列】正则
正则编写一条规则,用来验证6-16位的字符串,必须同时包含有大写字母小写字母字符串和数字正向预查:要匹配的字符串必须满足这个条件负向预查:要匹配的字符串必须不符合这个条件//要求cainiao8才能匹配过,以下正则只有cainiao8才符合条件,但是设置的条件是不参与捕获结果的var reg = /cainiao(?=8)///指的是 smileyqp后面必须是yyyy才符合条件,但是yyyy不参与捕获的结果var reg1 = /smileyqp(?=yyyy)/var reg =
2021-06-16 09:30:48 111
原创 【Review系列】系列数组扁平化
数组扁平化编写一个程序将数组let arr=[[2,4,1,5],[8,5,2],[23,45,12,[29,3,5,[1,4,67]],10]扁平化,并去除其中重复部分,最终得到一个升序且不重复的数组ES6 :flat 、Set、sortlet arr=[[2,4,1,5],[8,5,2],[23,45,12,[1,45,35]],10]arr = arr.flat(Infinity)arr = Array.from(new Set(arr))arr = arr.sort((a,b)=
2021-06-16 09:29:03 154
原创 【Review系列】面向对象new
面向对象new(function(){ function _new(){ //let obj = Object.create(this.prototype)下面两句的简写 let obj = new Object(); obj.__proto__ = this.prototype; obj.apply(this,arguments) return obj; } Function.prototype._new = _new;})()...
2021-06-16 09:27:46 198
原创 【Review系列】数组合并
数组合并得到["A", "A1", "A2", "B", "B1", "B2", "C", "C1", "C2", "D", "D1", "D2"]let ary1 = ['A1','A2','B1','B2','C1','C2','D1','D2']let ary2 = ['A','B','C','D']let arr = ary1.concat(ary2).sort((a,b)=>{ return a.localeCompare(b)})console.log(arr) //[
2021-06-16 09:26:31 267
原创 【基础Review系列】前端基础Review
Review题目合集持续更新ing~前端基础github地址。README02.md可以下载到typora中打开,会有整个大纲目录显示(github中markdown目录快捷生成方式不现实,之后可能会想办法生成贴过来,暂时不做相关处理)前端基础gitbook地址。README.md中会实时更新进度内容。gitbook中考虑整个学完整理完成之后,再去统一处理发布,敬请期待!gitbook版本可建议后期碎片化时间进行复习使用。前端基础csdn地址。CSDN博客专栏前端自我修养进阶中,也会一篇一篇实时更
2021-06-10 11:27:43 495 3
原创 基本设计模式
文章目录代理模式观察者模式(发布订阅模式)装饰器设计模式:针对特定的场景,在软件设计过程中常见的代码范式(通用解决方案,与语言无关)。观察者模式(麦当劳点餐)代理模式(花店送花)装饰器:可以允许向一个对象添加新的功能,却不改变原有对象。比如:给文件上传功能添加日志输出功能react中redux的@connect代理模式特点:代理对象与真实对象有相同的行为真实对象->代理对象->用户花店送花:男孩让花店送花给女孩//定义女孩对象var Girl = funct
2021-06-08 09:55:57 155
原创 webpack基础知识以及配置
webpack基础知识以及配置webpack:静态模块打包工具。webpack中的一切资源都是文件。webpack是通过从入口进行递归查询的方式直接或者间接相互依赖的文件,最后生成打包文件。webpack-cli处理打包命令,解析webpack命令。webpack包做文件打包工作webpack不用全局下载,只用局部下载即可。因为不同项目可能使用的webpack版本不一样webpack本身能解析打包各种模块规范的js代码webpackyarn init -yyarn add -D web
2021-06-07 11:13:39 249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人