自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 js单例设计模式

单例设计模式保证一个类仅有一个实例,并提供一个访问它的全局访问点,这样的模式就叫做单例模式。万变不离其踪,记住getInstance方法、记住instance变量、记住闭包和静态方法class SingleDog { show() { console.log('我是一个单例对象') }}const s1 = new SingleDog()const s2 = new SingleDog()// falses1 === s2楼上我们先 new 了一个 s

2021-08-25 11:16:24 148

原创 react fiber

说白了,fiber的底层就是链表,时间切片,一帧渲染多少React 16 架构为了解决同步更新长时间占用线程导致页面卡顿的问题,也为了探索运行时优化的更多可能,React开始重构并一直持续至今。重构的目标是实现Concurrent Mode(并发模式)。  从v15到v16,React团队花了两年时间将源码架构中的Stack Reconciler重构为Fiber Reconciler。React16架构可以分为三层:Scheduler(调度器)—— 调度任务的优先级,高优任务优先进入Reconci

2021-08-16 10:56:58 284

原创 umi-request下载数据流

/** * 获取数据流 */import React from 'react';import { Button } from 'antd';import 'antd/dist/antd.css';import request from 'umi-request';export default () => { function download() { request('/get-data-stream', { method: 'POST', // 重

2021-07-20 14:45:25 3784

原创 node原生处理get post请求示例

保持对代码的热爱并保持怀疑态度普通的服务端开启const http=require("http"); //引入模块const fs=require("fs") //文件模块// console.log(http);http.createServer((req,res)=>{ //创建node服务 ,req是从前端到后端 res从后端到前端 if(req.url!=="/favicon.ico"){ //过滤图标 fs.read

2021-04-04 12:31:05 319

原创 vue中keep-alive使用

keep-alive的概念keep-alive是vue内置的一个组件,而这个组件的作用就是能够缓存不活动的组件,组件进行切换的时候,默认会进行销毁,如果有需求,某个组件切换后不进行销毁,而是保存之前的状态,那么就可以利用keep-alive来实现路由中的设置这里用到了路由的原数据在router里面加一个属性meta:{keep:true}使用在app.vue中用keep-alive包裹要缓存的数据v-if判断是否要渲染通过$route.meta.keep来取值...

2021-03-30 19:23:45 131

原创 express下后台接口req.files显示undefined的自检方式

是否引入了multer插件在package.json里查看需要提交的表单的form里是否增加了enctype="multipart/form-data属性在app.js中是否引入,并通过use注册const multer = require(“multer”); //读取上传文件const upload = multer({ dest: ‘./public/uploads’ }); //设置存储路径,没有文件夹会自动创建app.use(upload.any()); 通过这个注册...

2021-03-03 20:19:00 1101 1

原创 mongoDB和sql数据库的区别

保持对代码的热爱并保持怀疑态度mongodb和sql的区别MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写,是一个开源数据库系统。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。在高

2021-02-25 14:22:50 2537 2

原创 css的四种定位方式的概念记

保持对代码的热爱并保持怀疑态度定位的几种方式定位的属性是position ,默认值:static 为没有定位定位有4种:绝对定位 absolute相对行为 relative固定定位粘性定位.层级关系 z-index(可设置负值,值必须是整数)设置定位的定位元素,可以触发5个属性4个是移动的方向 left,right,top,bottom1个是层级关系 z-index(可以设置负值,值必须是整数)普通元素的层级比定位元素的层级低后设置定位属性比先设置的定位属性的层级

2021-02-15 14:02:47 381

原创 js ES6之async和await理解及使用

保持对代码的热爱并保持怀疑态度async(/əˈsɪŋk/),await的概念async和await是用来处理异步的。当你需要异步像同步一样执行,需要异步返回结果之后,再往下依据结果继续执行。async 是“异步”的简写,而 await 可以认为是 async wait 的简写。async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。async的写法(a沈克)此乃中文歪读直接声明,表示这个函数是异步的。async function(){}然后里

2021-02-15 12:29:21 1421 1

原创 js堆伐理解及深浅拷贝

保持对代码的热爱并保持怀疑态度什么是栈堆,及其区别栈:用来保存变量的名称或地址,稳定,不可更改,空间小堆:用来保存数据或值,空间大,可被修改关系:一对一,多对一,不能一对多什么是值传递,什么是引用传递(基本数据)值传递:内有地址和值之分,值就是地址,地址就是值– 字符,数据,布尔,undefind(复杂数据)引用传递:有地址和值,地址是地址,存在栈中,值是值,存在堆中,被栈中的地址指向– 对象深浅拷贝的区别,如何实现深拷贝浅拷贝:只拷贝地址深拷贝:拷贝值实现深拷贝

2021-02-14 15:26:59 247

原创 js异步,同步及宏任务和微任务理解

保持对代码的热爱并保持怀疑态度异步同步概念异步:多个程序同时执行同步:每个程序不同时执行程序:功能进程:一个功能的开始执行到执行结束的过程线程:一个功能在执行过程中的每一个分支,多线程异步执行,线程越多执行速度越快,但需要消耗大量性能同步现象就比如这个 看实例: alert(1); alert(2); alert(3); alert(4); alert(5)alert弹出会阻塞程序执行,当你不点击确认的时候,他便不会执行后面的代码,当你点击后才

2021-02-14 14:26:30 220

原创 js闭包原理及使用

保持对代码的热爱并保持怀疑态度昨天写了一篇js防抖和节流的理解用到了闭包,刚刚好我也忘的差不多了,只知道闭包长什么,原理什么的早就忘到九霄云外了,所以准备重新梳理了一下闭包。闭包的概念及原理闭包是指有权访问另外一个函数作用域中的变量的函数。也可以这么说,这样可能更能理解,也就是闭包的原理:通过作用域的嵌套,触发计算机的垃圾回收机制(硬盘),将原本的局部变量进化成私有变量的环境,叫闭包计算机的垃圾回收机制硬盘:需要删除的数据,不直接删除,而是再是保存在一个临时区域,如果需要继续使用,可以从临

2021-02-14 13:24:35 230

原创 js this绑定方式和改变this指向,及call,apply,bind区别

保持对代码的热爱并保持怀疑态度文中fn皆表示函数的意思 function(){}this指向默认绑定:没有明确隶属对象的函数直接执行,window事件绑定:事件处理函数中的this,事件源隐式绑定:对象的方法中的this,对象显示绑定:使用函数的call或apply或bind改变this,函数方法的第一个参数new绑定:new关键字执行函数,new出来的对象this是一个关键字,一般存在于函数中,表示所在函数的执行对象this不是所在的函数,是所在函数的执行对象t

2021-02-13 16:18:22 207

原创 js防抖和节流理解及区别

保持对代码的热爱,并保存怀疑态度在说防抖和节流之前我们先说一下闭包什么是闭包?通过作用域的嵌套,触发计算机的垃圾回收机制(硬盘),将原本的局部变量进化成私有变量的环境,叫闭包 function fn(){ var a = 10; return function(){ a ++ ; console.log(a); } } var f = fn(); f();什么是防抖?首先先看一个例子

2021-02-13 15:32:35 1119

原创 jsES6pormise的使用

保持对代码的热爱并保持怀疑态度什么是pormise?Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。自身存在三个状态:正在进行时,已完成,已失败优化了异步程序的回调地狱问题。什么是回调地狱?看代码 ajax("",function(res1){ ajax("",function(res2){ ajax("",function(res3){ ajax("",function(res4){

2021-02-13 13:50:56 835

原创 大过年的怎么可以不放烟花(js实现烟花简易版效果含源码)

保持对代码的热爱并保存怀疑态度在这里先祝大家新年快乐,纪念一手。源码地址:点击跳转烟花实现的原理 OOA:烟花,点击页面位置,出现元素运动,运动到终点,删除,创建好多元素,运动到指定随机位置,到终点,删除 主体烟花 创建元素,设置位置,设置颜色,插入页面 开始运动,到终点 删除元素 小烟花 创建多个元素,设置位置,设置颜色,插入页面 开始运动,到终点 删除元素以上为分析,因为用

2021-02-12 10:48:12 394 2

原创 sass的简介,转换及语法

保持对代码的热爱并保持怀疑态度什么是sass?sass是CSS预处理器,它的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件。说白了就是css的扩展。sass的转换sass的文件的后缀为scss,scss是不支持直接使用到网页的,所以需要转化首先需要下载node安装一个环境 点击查看node的安装node安装完成后,将node作为集成环境,下载第三方模块包,点击查看gulp的安装接下来就是安装gulp插件 gulp-sassgulp-

2021-02-11 11:54:20 367 2

原创 js事件总结(详解)

保持对代码的热爱并保持怀疑态度事件源:绑定事件的元素事件目标:触发事件的元素事件分类:鼠标类键盘类表单类浏览器类 location href scroll load事件的绑定方式方式DOM0级(赋值式)绑定 元素.on事件名 = 函数删除 obtn.onclick = nullvar obtn=document.getElementById("btn"); obtn.onclick=function(){ console.log

2021-02-10 14:01:51 1284

原创 js永久级本地存储和会话级本地存储

保持对代码的热爱并保持怀疑态度localStorage永久级本地存储sessionStorage:会话级本地存储特点:HTML5版本中新增的技术不会随着HTTP发往服务器,是一种真正的本地存储不用必须运行在服务器环境只能存文本大小:5M不允许跨域传入对象的时候也是需要用JSON.stringify转为字符型在哪查看f12调出控制台,跟cookie的位置一个栏目里面语法localStorage和sessionStorage语法是一样的localStorage.setI

2021-02-09 10:46:33 445

原创 js cookie的使用及封装加小案例

保持对代码的热爱并保持怀疑态度什么是cookie?Cookie 是一些数据, 存储于你电脑上的文本文件中。当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。Cookie 的作用就是用于解决 “如何记录客户端的用户信息”:当用户访问 web 页面时,他的名字可以记录在 cookie 中。在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。cookie的查看f12调出控制台,我这里暂时没有存储数据,如果存储了可以在这里看到。cookie的

2021-02-09 10:31:33 245

原创 html,css的引入及权重问题

保持对代码的热爱并保持怀疑态度css三种样式第一种 内部样式表<!-- <style> div{width: 500px;height: 400px;background: tomato;} </style> -->第二种 外部样式表 <!-- <link rel="stylesheet" href="css/sxcd.css"> -->第三种 导入样式表<style>

2021-02-08 15:31:35 235

原创 html基础篇(表格)

保持对代码的热爱,并保持怀疑态度1、表格表格的结构标签table 声明表格tr 行td 列,每一个单元格 表格的属性width 宽度height 高度border 边框线 (1px,都是1px, 改了高于1以后,单元格外边变,里面线不变)cellspacing 单元格之间的间隙cellpadding 单元格与内容之间的距离align 水平对齐 (阿楞) 默认左对齐left 左对齐 right右对齐

2021-02-08 15:27:28 167

原创 html基础篇(认识html,vscode安装,各种标签)

保持对代码的热爱并保持怀疑态度网页的组成:结构 表现 行为 html css js xhtml (由w3c(万维网联盟规范) (由ecma)HTML 指的是超文本标记语言 (Hyper Text Markup Language) www万维网的描述性语言。XHTML指可扩展超文本标记语言(标识语言)(EXtensible HyperText Markup Language)是一种置标语言,语法上更加严格。

2021-02-08 15:06:53 318

原创 gulp原生及接口的使用

保持对代码的热爱并保持怀疑态度const {src,dest,watch,series,parallel}=require("gulp"); //解构赋值,取得里面单个的方法// 根据指定路径读取文件,得到指定文件的流对象// src()// 将拿到的流对象,转存到指定路径,生成真正的文件// dest()//watch自动转存,第二个参数是src的函数名//series同步批量执行,parallel异步批量执行function copyFn(cb){ //cb这个函数是为

2021-02-04 20:19:03 181

原创 gulp的安装

保存对代码的热爱并保存怀疑态度一、将node作为集成环境,下载第三方模块包在cmd中运行node安装详见:node(安装,及简易服务器的搭建)node安装成功后会自带一个npm的包管理器npm的使用查看当前npm的版本号:npm -v创建项目的配置文件(初始化项目):npm init下载安装指定包:npm install 名字卸载指定包:npm uninstall 名字清除缓存:npm cache clean从哪下 - npm的下载源https://www.npmjs.co

2021-02-04 16:49:00 193

原创 java知识点

保持对代码的热爱并保持怀疑态度前几个月略微学习了一下java,以下为知识点,全的不敢说,大部分肯定有了有一些英文旁边有些奇怪的中文拼接,没错因为记不住,特地中文化了一下。MVC模型,视图,控制…模型:业务逻辑层由JavaBean或EJB构建,数据访问层(数据持久层)应用JDBC或Hibernate聊构建视图:视图部分一般由JSP和HTML构建。控制:当用户提交HTML表单时,控制器接收并调用相应的模型组件去处理,之后调用相应的视图来显示模型返回的数据Shift+Alt+L 补全 Eclips

2021-02-02 20:14:07 179

原创 node(安装,及简易服务器的搭建)

保持对代码的热爱并保持怀疑态度下载node官网:http://nodejs.org下载LTS版(长期稳定支持版)双击安装,安装成功后,无图标,无可视界面,纯命令操作如何使用node环境执行node程序打开node环境操作系统的命令窗口windows:DOS(命令提示符 或 cmd)左下角,搜索“cmd”win+r,搜索“cmd”某个文件夹内:shift+右键,打开命令提示符文件夹的地址栏,输入cmd,回车MAC:终端启动台,终端某个文件夹,右键,服务,新建该位

2021-02-01 18:27:05 181

原创 js面向对象(原型,es6 class)

保持对代码的热爱并保持怀疑态度首先得知道一点:在js中万物皆对象 Everything is object面向对象编程:就是以对象为主的编程对象 -就是数据的打包数据的查找速度得到提升数据的传输速度得到提升面向对象的三大设计思想·面向对象分析(OOA):不断的将无法直接解决的大问题,拆分成可以直接解决的小问题·面向对象设计(OOD):每个系统之间,需要有数据关联,但又没有功能依赖·面向对象编程(OOP):封装(忽略细节选择使用重复使用)继承(相当于你有个父元素,然后子元素可以直

2021-01-23 11:12:25 158

原创 js(dom选择器,尺寸类,属性操作)

保持对代码的热爱并保存怀疑态度DOM介绍DOM:文档对象模型,document,提供了页面(网页,文档)的操作标准化组织:W3Cdocument表示页面,html结构,类似于树形结构(家族结构),页面由节点组成页面上所有的成份都是节点标签(元素)节点文本节点属性节点注释节点根节点所有的节点都是对象类型的数据如何操作网页,操作DOM,操作节点,哪个节点,选中其中一个↓↓↓选择器元素节点选择器单个对象:就算有多个符合条件的元素存在,也只能选择一个直接选择:id

2021-01-16 14:33:35 307

原创 jsBOM及其子对象

保持对代码的热爱,并保存怀疑态度BOMBOM:浏览器对象模型,对象是window作用:浏览器对象,提供了浏览器的操作提供了浏览器窗口的操作窗口与窗口之间的交互提供了js的运行的平台,所以,是js的顶层对象(顶层作用域)js的顶层对象window方法:parseInt() 取整parseFloat() 取小数isNaN() 判断是否是NaNtypeof() 检测数据类型setInterval() 计

2021-01-16 14:28:42 161

原创 js计时器语法

保持对代码的热爱并保存怀疑态度这里只是简单的基础应用具体使用参照主页js随机点名计算器运用场景很多需要自己去发掘计时器(定时器)设置一个时间,每隔这个时间,执行一次指定代码setInterval(参数1,参数2)参数1:函数,被多次执行的代码段参数2:毫秒数,每次执行时间隔的时间 setInterval(() => { console.log("计算器每30执行一次"); }, 30);延时器设置一个时间,等待这个时间

2021-01-15 20:46:22 139

原创 js(日期对象加实例)

保存对代码的热爱并保存怀态度日期对象 - 设置创建日期对象时参数是字符new Date(字符参数)超出上限日期,无效日期:Invalid Date没有设置的部分:默认为0关注月份:1~12参数个数:1个参数是数值new Date(数值参数)超出上限日期,向前进没有设置的部分:默认为0关注月份:0~11参数个数:多个创建日期对象后var d = new Date();精准设置d.set系列(数字);设置时间戳主动设置从197

2021-01-15 20:34:37 119

原创 js正则表达式

保持对代码的热爱并保持怀疑态度正则正则的介绍正则,正确的规则,用来描述字符串的规则,正则在js中的数据类型以对象形式表现。正则也叫正则对象,因为正则在某些情况下可以直接参与运算,正则,也叫正则表达式正则的作用用来描述字符串的规则,根据这个规则对字符进行:查找,替换,验证正则的意义节省代码,快速输入正则并没有节省太多性能正则的使用查找:str.search(正则)str.match(正则)正则.exec(str)替换str.replace(

2021-01-15 18:57:02 156

原创 “阳间话”理解get,post区别

保存对代码的热爱,并保持怀疑态度1.post相对于get比较安全,get的数据直接显示到url直观的区别就是GET把参数包含在URL中,POST通过request body传递参数例如get的:https://mp.csdn.net/console/home?spm=1001.2014.3001.4503?“拼接的数据’=”url=url+"?"+拼接的数据+“sd=”+Date.now(); “sd=”+Date.now()为了清除缓存post相当于get比较安全一点,这里能查询到post

2021-01-15 18:25:30 320

原创 js原生(ajx-post,get jsonp)三合一封装

保持对代码的热爱并保存怀疑态度<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body>

2021-01-14 12:41:17 256

原创 js(es6新增)

保持对代码的热爱,并保存怀疑态度变量声明关键字(基础功能都是赋值)let1.全局变量不会绑定到window对象2.权重不会提升3.不允许重复声明4 块级作用域:只要是花括号就是作用域(写在花括号里面)5.暂时性死区const 同let, const声明的是常亮,声明时立即赋值,之后再也不能修改其实const不允许修改的是地址,可以改值也就是说变量声明了就不能再重复声明,对象数组复杂数据类型可以更改值// let和const的使用场景:如非特殊需要,所有的var都可以改成le

2021-01-14 12:25:08 306

原创 js封装jsonp

保存对代码的热爱,并保存怀疑态度jsonp的原理:利用script标签不会触发浏览器的同源策略,及script标签将自身引用的数据,作为js代码执行的原理。配合函数的传参(执行时的参数发送给定义时的参数),实现跨域数据的获取。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device

2021-01-13 19:39:45 266

原创 js实现随机验证码

保存对代码的热爱并保存怀疑态度// var str = ""; // for(var i=0;i<4;i++){ // str += random(0,9); // str += String.fromCharCode(random(97,122)) // str += String.fromCharCode(random(65,90)) // } // console.log(str); // // 2. 从

2021-01-13 19:35:17 126

原创 js封装运动3(究极版,注释可以出作文了)

保持对代码的热爱并保存怀疑态度建议从头开始一步一步看<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Document</title> <style> #box1{width: 100px;height: 100px;background: red;position: absolute;left:0;top:0;

2021-01-05 18:12:15 149

原创 js封装运动2(终极版请参考主页js运动3))

保持对代码的热爱并保存怀疑态度<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Document</title> <style> #box1{width: 100px;height: 100px;background: red;position: absolute;left:0;top:0;} #

2021-01-05 18:09:10 108

java使用poi操作excel需要的所有jar包(3.8版本).zip

java使用poi操作excel需要的所有jar包(3.8版本).zip

2021-04-04

MSChartbxt.zip

MSChartbxt.zip

2021-04-04

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

TA关注的人

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