自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝冰凌的博客

冰,愈冷愈坚!

  • 博客(62)
  • 收藏
  • 关注

原创 设计模式-策略模式

定义: 根据不同参数可以命中不同的策略。

2024-04-18 10:37:15 84

原创 vscode setting配置

记录自己的vscode配置,会不断优化。

2024-03-22 15:34:13 379

原创 const XX=void0

demo()

2024-03-08 14:40:23 581

原创 (0, function)(param)结构

在读一些源码的时候,发现许多函数在调用时,都采用了的形式调用,这种结构的作用和原理是什么?下面我们就说一下(0, function)(param)结构。

2024-03-08 14:37:43 144

转载 九个 Vue.js 性能优化的技巧

Vue; 性能优化;转载;前端

2023-02-17 15:31:00 218

原创 react hooks父子组件的代码执行顺序

react hooks

2022-12-16 16:29:40 1191

原创 fuc-js判断合集

const toString = Object.prototype.toString;export function is(val: unknown, type: string) { return toString.call(val) === `[object ${type}]`;}export function isDef<T = unknown>(val?: T): val is T { return typeof val !== 'undefined';}expor

2022-04-06 09:51:22 317

原创 高阶函数,闭包的应用:函数柯里化(function currying)

函数柯里化(function currying)currying 又称部分求值。一个 currying 的函数首先会接受一些参数,接受了这些参数之后, 该函数并不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保存起来。待到函数被真正需要求值的时候,之前传入的所有参数都会被一次性用于求值。实例假设我们要编写一个计算每月开销的函数。每天结束后我们都会记录并计算到今天为止花掉的钱。但我们其实并不太关心每天花掉了多少钱,而只想知道到月底的时候会花掉多少钱。也就是说,实际上只需要在月底

2022-03-31 09:43:59 250

原创 AOP(面向方面编程)以及Function.prototype扩展

oop(面向对象编程),aop(面向方面编程)。oop就是把多个对象的相同功能单独分离出去,封装成组件或者函数。oop举例:前端的组件和函数;axios封装,权限认证、日志、事务处理等。oop主要分两类:1,一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;(前端我想到了装饰器(Decorator))2,是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码在 JavaScript 中实现 AOP,一般都是指把一

2022-03-30 10:32:13 598

原创 js事件循环机制

事件循环机制大纲先说基本知识点,宏任务、微任务有哪些说事件循环机制过程,边说边画图出来说async/await执行顺序注意,可以把 chrome 的优化,做法其实是违法了规范的,V8 团队的PR这些自信点说出来,显得你很好学,理解得很详细,很透彻。把node的事件循环也说一下,重复1、2、3点,node中的第3点要说的是node11前后的事件循环变动点。下面就跟着这个大纲走,每个点来说一下吧~浏览器中的事件循环JavaScript代码的执行过程中,除了依靠函数调用栈来搞定函数的执行顺序外

2021-05-11 15:58:25 100

原创 脚本-自动从git上面拉取文件自动打包到服务器上

echo "开始拉取项目:知识库框架"git pull origin devnpm run buildAllecho "项目拉取成功"#判断pm2进程是否存在,存在重启,不存在新建if pm2 ls | grep repository; then pm2 restart repository echo "重新启动项目!"else pm2 start npm --name repository -- run node:prod echo "创建新的项目"fi.

2021-04-28 14:26:32 464

原创 收藏的插件清单

基于vue的插件vxe-table 基于 vue 的 PC 端表格组件基于react的插件原生js|ts的插件css插件

2021-04-25 11:29:27 81

原创 vscode 设置

版本一:{ "editor.rulers": [ 100 ], //代码缩进线 "editor.tabSize": 2, "eslint.alwaysShowStatus": true, "eslint.autoFixOnSave": true, "eslint.packageManager": "yarn", "eslint.validate": [ "javascript", // 用eslint的规则检测j.

2021-04-22 18:23:46 266

转载 nodejs连接mysql——createPool&createConnection区别

createConnection 建立连接&关闭连接语法(1)createConnection方法创建连接对象(正式的说法:使用createConnection方法创建一个表示与mysql数据库服务器之间连接的connection对象)var connection = mysql.createConnection(options);(2)用对象的connect方法建立连接。connection.connect(function(err) { *** });(3)关..

2021-02-02 10:06:40 2358 4

转载 vue插件开发&npm发布

1. 初始化项目vue init webpack-simple projectName运行项目:cd projectNamenpm installnpm run dev2. 写插件在 src 文件夹下面建 lib 文件夹,用于存放插件。lib 文件夹下再建 toast.js 和 toast.vue 两个文件。整个项目目录如下所示:toast.vue 的内容如下:<template> <div class="vue-toast-wraper"

2021-01-08 11:24:17 176

原创 autocomplete=“off“‘不起作用解决方案

为了防止浏览器为用户自动填充账号密码,input标签 html5新增属性autocomplete,但这一属性经常出现不起作用的事情,为了解决这一问题,我找到一些解决方法;去掉了一些比较复杂的方法。下面是两个简单容易实现的方法:方法一:在input框中设置 autocomplete= "new-password";autocomplete官方只有"on","off"俩个值,但是"new-password"亲测可用。网上没有找到对其详细解释,但是发现163邮箱的登录注册是这么用的。这种方法是最简单的。.

2021-01-05 11:05:36 3581 2

原创 mddir——自动生成文件目录结构

自动化生成项目目录结构,文件类型为.mdnpm install mddir -g打开项目所在的文件夹,cmd到控制台,mddir即可生成

2020-12-15 16:19:49 538 1

原创 Fuc-String-escapeRegExp 将字符串中的特殊字符进行转义

escapeRegExp(str){returnstr.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");},

2020-09-30 10:19:19 268

原创 Fuc-String-querysour 搜索结果高亮显示

//搜索结果高亮显示querysour(str,searchStr){letsrtEndIndex=str.indexOf(searchStr)+searchStr.length;letsrtStartIndex=str.indexOf(searchStr);letnewStr=str.substring(0,srtEndIndex)+"</text>"+str.substring...

2020-09-27 17:34:45 117

原创 http请求 超时相关

例如:高级分析客户端设置100s超时,而高级分析服务器端设了8秒超时。这个100秒不仅不起作用,而且会让大量的连接处于time_wait状态。原因:根据TCP协议,主动发起关闭的一方,会进入TIME_WAIT状态(所以服务器端大量进入了time_wait状态),持续2*MSL(MaxSegmentLifetime),缺省为240秒。结论:前后台设置请求超时最好保存一致(结论未验证,此结论未必是对的)...

2020-07-31 12:37:51 428

原创 js常用的正则校验

在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了常用的javaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IPv4地址、 十六进制颜色、 日期、 QQ号码、 微信号、车牌号、中文正则,详细中文名字校验(可以是少数民族.或-)1 用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;//输出 true

2020-07-27 15:33:49 7462

原创 常用的密码校验

情景一:要求:密码长度最少8位 大写字母,小写字母,数字,特殊符号必须四选三首先给出全部四种的匹配表达式:[a-zA-Z0-9\W_]{8,}其中\W 匹配任意不是字母,数字,下划线,汉字的字符。然后使用排除法,排除其中只选一种或只选两种的情况,剩下的就是选了三种的情况了。有:大写+小写,大写+数字,大写+特殊符号,小写+数字,小写+特殊符号,数字+特殊符号。共这6种组合。最后使用环视-正向否定匹配 (?!...)组合起来,就得到最终需要的表达式:^(?![a-zA-Z]+$)(.

2020-07-27 15:26:35 5766

原创 Fuc-String-replaceAll 字符串全部替换

String 又原生的replace方法,但是没有replaceAll。String.prototype.replaceAll = function (s1, s2) { return this.replace(new RegExp(s1, "gm"), s2);}String.prototype.replaceAll = function(search, replacement) { var target = this; return target.replace(ne

2020-06-18 17:04:51 316

原创 Fuc-String-endsWith() 字符串是否是以XXX结尾

String.prototype.endsWith = function (endStr) { // var d = this.length - endStr.length; // return (d >= 0 && this.lastIndexOf(endStr) == d) var reg = new RegExp(endStr + "$"); return reg.test(this);}

2020-06-18 17:01:08 179

原创 Fuc-Date-format() 日期格式化方法

入参类型:Date()类型,默认值:yyyy-MM-ddhh:mm:ssDate.prototype.format = function(fmt="yyyy-MM-dd hh:mm:ss"){ var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), ..

2020-06-18 16:48:25 214

转载 react+umi+antd----umi项目的上手教程(转载)

umi+dva项目快速上手指南react+umi+dva+antd umi项目的上手教程。转载而来,仅用于给人学习。构建项目node环境node版本 >= 8.0.0全局安装uminpm install -g umi建议使用yarn安装// 全局安装yarnnpm install -g yarn// 使用yarn安装umiyarn global add umi构建umi项目mkdir myapp && cd myapp..

2020-06-02 15:59:44 6585

原创 react+antd+umi 项目搭建------connect的使用方法

connect 就是 react-redux 的 connect;它是一个函数,绑定 State 到 View。connect 方法返回的也是一个 React 组件,通常称为容器组件。因为它是原始 UI 组件的容器,即在外面包了一层 State。简单来说connect是用来连接前端的ui界面和和前端model的一个嫁接桥梁 ,通过使用connect将model里面定义的state,和dispatch,和histoey方法等传递到前端供前端使用connect常用的写法:方式一:mapStateTo

2020-06-02 15:39:38 7096 1

原创 vue使用事件绑定携带参数会覆盖函数默认参数怎么办?

第一种,$event;该方法只能解决一个默认参数的情况<a-pagination class="optionsPagination" simple@change="optionsPaginationChange($event,index)" :total="knowledgeItem.knowledgeEntries.total" />该方法应该不是一个好方法,只是自己摸索出来的,$event的主要功能应该不在这儿。第二种方法:<button @click="((el

2020-05-12 14:18:21 1445

转载 react和vue父子组件生命周期的执行顺序

react:父组件将要挂载(componentWillMount) 子组件将要挂载(componentWillMount) 子组件挂载完毕(componentDidMount) 父组件挂载完毕(componentDidMount)import React, { Component } from "react";clas...

2020-04-23 10:25:37 479

原创 全局禁用backspace事件

<script type="text/javascript"> //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外 function banBackSpace(e) { var ev = e || window.event;//获取event对象 var obj = ev.target || ev.srcElement;//获取...

2020-04-17 14:44:06 348

原创 css-艺术字

var c = document.getElementById("canvas"); var cxt = c.getContext("2d"); cxt.font = "26px Verdana"; let data = "场景配置可视化" let gradient; for (let i = 0; i < data.length; i++) {...

2020-03-12 14:19:58 1000

原创 生产环境清空log日志

if (process.env.NODE_ENV == 'production') { var logDebug = false; console.log = (function (oriLogFunc) { return function () { if (logDebug) { oriLogFunc.apply(this, arguments);...

2020-03-09 11:10:05 426

原创 url怎么转递对象参数

正常情况下,url只能传递字符串,没法传递对象,但实际上我们经常会遇到url需要携带对象的情况。最近发现一个非常方便的解决办法,发出来供大家参考。 let objDemo = { name: "zdd", age: 12, content: "abc" }; let jsonObj = JSON.stringify(objDemo); ...

2020-02-25 10:59:23 2680

原创 2016-10-15

秋天又是秋天凋逝了容颜总也不现,总也不见······夕阳坠入黑暗!

2019-12-31 13:58:01 83

原创 梦里的姑娘

望着轻舞的长发嗅着迷人的芬芳迎着春风走在路上······越来越清晰的背影越来越......啊······触之即殇! 作于2017-08-02...

2019-12-31 13:54:43 100

原创 劫缘

世间如此多的遗憾幸福与苦难蹒跚消逝的昨天总有人留恋回眸前一个站点有苦有甜陌路前行别问是劫是缘...

2019-12-29 16:42:01 178

原创

绿水清波荡碧蟾,金鸡枝息映玉鸾。萤透寒光星招蛾,风尽残云月惊蝉。银河岸边灯未寝,广寒宫外月满盘。可怜牛郎孤高枕,月女谈妻犹未还。

2019-12-29 16:16:24 122

原创 详细中文名字姓名校验

^[\u4E00-\u9FA5\uf900-\ufa2d·s\-]{2,20}$

2019-12-29 11:57:27 2095

原创 函数节流和函数去抖,前端锁(防止点击、滚动、拖拽等事件多次触发)

throttle(函数节流) debounce(函数去抖) mutex(锁)Java等很多语言都有”锁机制“,其实前端开发很多时候也需要“锁”。例如:用户连续点击按钮会多次触发click事件、监听鼠标滚动事件、监听input框输入事件...等都会需要“锁”。今天,我就整理了有关前端“锁”的相关知识,以供大家参考!函数节流和去抖的出现场景,一般都伴随着客户端 DOM 的事件监听。举个例子,实...

2019-11-29 10:50:10 965

转载 vue中watch,computed,mehtod执行顺序

在vue中数据存在的方式有:data , props , computed由于vue的双向数据绑定,自动更新数据的机制,在数据变化后,对此数据依赖 的所有数据,watch事件都会被更新、触发。所以,只有数据本身变化了,依赖项才会改变。computed:只有当computed 属性被使用后,才会执行computed的代码,若组件中未被使用,computed代码不会执行。执行顺序:...

2019-11-28 10:25:24 566

空空如也

空空如也

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

TA关注的人

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