自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 token的加签解签

保存在超级管理员的本地目录下的.env文件在我们git上传文件时不会上传到服务器上,所以利用私有的表示加盐确保加密过程的保密性。加签是为了生成用户注册时的私有密钥token,解签是为了维护用户登陆状态判断是否传递的用户,密码是否匹配。后端实现token的加签解签其实是两个封装好的函数再调用的过程。同时为了确保加签和解签的过程加密还需一个步骤,加盐。先引入jsonwebtoken。

2023-02-10 13:03:04 408 1

原创 canvas项目中的图片标注

canvas实现图片标注

2022-11-07 17:47:07 859

原创 Vue子传父细节

vue中emit事件的细节

2022-08-18 17:32:34 371

原创 弹窗组件的可复用性

弹窗组件得可复用性

2022-08-13 00:22:16 271

原创 git常用命令

先gitpull拉去代码,然后解决下本地冲突,进行项目开发,之后执行gitadd命令添加到暂存区,gitcommit提交到本地仓库,然后的操作很重要,需要再gitpush一次拉取代码,解决冲突,因为有可能同事在这之前刚提交了一次代码,最后解决完本地冲突后,再执行,gitpush完成推送。A分支合并到B分支,此时若没有冲突,会提示成功,可以直接提交并推送,若有冲突,则需要解决完冲突才能提交,这时候A分支代码是incomingchange,原有的B分支就是currentchange。...

2022-07-18 11:19:40 181

原创 vue 中的动画实现

这里实现一个小的图片自动轮播案例在页面中声明: <div id="app"> <div class="container"> <transition name="fade" mode="out-in"> <img :src="images[current]" :key="current" width="700"> </transition&gt

2022-05-26 19:15:45 197

原创 ES6新字符串方法

### 简介:介绍ES6提供的新的字符串方法及模板字符串ES5处理Unicode的缺陷加强了对Unicode的支持在ES5中我们知道JavaScript 允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。这种表示法只限于码点在\u0000~\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表示,但是ES5却无法正确的识别这个有两个字节组成的字符。ES6中,JavaScript增加了对超出\u0000~\uFFFFUnicode范围的字符支持。

2022-05-16 20:32:46 182

原创 ES6 Symbol使用

ES6之前JavaScript的数据类型Number(数字)String(字符串)Boolean(布尔值)Object( 对 象 )Null(空对象指针)Undefined(声明的变量未被初始化时)引入的背景对象的属性名容易产生命名冲突,为保证键名的唯一性,故es6引入Symbol这种新的原始数据类型确保创建的每个变量都是独一无二的特点Symbol类型的数据是类似字符串的数据类型,由于Symbol函数返回的值是原始类型的数据,不是对象,故Symbol函数前不能使用new

2022-05-11 16:08:26 93

原创 Generator理解

generator在定义上跟普通函数差不多,不过在function的后面加上一个*(星号),而且另外不同的是,普通函数只能有一个return 返回值,但是generator中可以定义多个yield,相当于多个返回值,然后需要调用next()方法取到每个return的值了。而generator定义的函数的实例,其实是一个Iterator对象,通过它来遍历每一个状态。{ const say = function*(){ yield 'a' yield 'b'

2022-05-09 19:13:22 353

原创 this.$nextTick()

在我们写Vue项目时,经常会使用到this.$nextTiick()方法,这个方法通常是用来处理vue组件实例更新后的回调,比如说我们在页面渲染过后,点击某一按钮触发了请求更新的函数,这时通常需要调用它进行页面的更新。例如事件出发后,弹窗并且更新表单内容 methods: { handlePwd() { this.dialogFormVisible = true; this.$nextTick(() => { this.$refs["rule

2022-05-09 14:53:34 739

原创 找字符中出现次数最多的字符

var str = "zhaochucichuzuiduodezifu"; var o = {}; for (var i = 0, length = str.length; i < length; i++) { // var char = str[i]; var char = str.charAt(i); if (o[char]) { o[char...

2022-04-21 15:28:16 140

原创 SetTimeout实现SetInterval定时器并扩展

直接上代码 var a=0 var time =null function mySetInterval(fn, millisec){ function interval(){ time =setTimeout(interval, millisec); a++ fn(); millisec+=500 } setTim

2022-04-15 18:43:31 418

原创 js闭包的理解

闭包

2022-03-27 17:24:18 338

原创 刷题,按奇偶排序数组

题目:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。思路:可以在数组的头部和尾部添加两个指针,用来调换,奇数和和偶数的位置。然后 在交换位置时 ,我采用的是es6的解构赋值。代码:var sortArrayByParity = fun

2022-03-03 16:21:35 123

原创 js作用域和this指向小结

定义a 和 this.a 本质上是两个不同的变量,没有在定义a后自动添加一个this.a 在window上,而且,在执行带参数的函数时,本质上是把参数传递过去,相当于又声明一个新的a并赋值,对外部的a没有影响const a = 10console.log(a);console.log(this.a);function change(a){ a = 11 console.log(a); console.log(this.a);}change(a)console.lo.

2022-02-03 14:58:51 602

原创 dom 和 bom理解

DOM,全称 Document Object Model(文档对象模型),就是把「文档」当做一个「对象」来看待。BOM,全称 Browser Object Model(浏览器对象模型),即把「浏览器」当做一个「对象」来看待。在 DOM 中,文档中的各个组件(component),可以通过 object.attribute 这种形式来访问。一个 DOM 会有一个根对象,这个对象通常就是 document。而 BOM 除了可以访问文档中的组件之外,还可以访问浏览器的组件,比如问题描述中的 navig

2022-01-26 20:24:49 236

原创 页面布局左右固定与自适应(两栏布局)

两栏布局

2022-01-17 14:55:59 1292

原创 蔚来前端一面

蔚来汽车前端实习一面

2022-01-16 17:59:32 1037

原创 字节面试题

1.有没有看过红宝书JavaScript高级程序设计了解。。。2.vue或react数据转换成视图的原理简单来说,vue 中,比如我们渲染一个数据 a,会调用修改和监听的方法,里面包裹一个 get和 set 的方法,get获值,set更改值,然后通过监听get和set方法,修改dom的值,来转换成视图。网上找的相关资源----------------问题结束了---------------------由于上来问的题就答得不好,再有看到我简历里写了写算法然后就开始噩梦三...

2022-01-13 15:44:45 262

原创 md5加密

加密机制:通过安装md5包然后require,调用里面的方法使用加密安装引用加密多用于数据库账号密码匹配,这里实现两个方法进行加密和判断加密判断简单测试一下然后用node执行一下输出结果...

2022-01-07 15:21:08 591

原创 ajax,axios,fetch,async,await请求函数

原生 ajax请求 : 优点:局部刷新,提高用户体验 缺点:跨域问题限制 //01、创建XMLHttpResquest对象,(异步调用对象)varxhr=null;if(window.XMLHttpRequest) { xhr=newXMLHttpRequest();//ie7+等现代浏览器}elseif(window.ActiveXObject) {//ie6,老版Opera xhr=newActiveXObject('Microsft.XMLHTT...

2021-12-26 17:04:21 404

原创 js高级,this指向问题

类组件中1.生命周期中的钩子函数中,this指向当前组件的实例2.在自己声明的函数内部,this指向的是undefined例如 在组件中声明一个函数go(){}render中填一个按钮<button onClick={this.go()}>go1</button>在执行生命周期时会直接执行button中的go(),触发函数,但是触发函数时又会导致重新运行render。最终导致死循环。直接this.go显示的是undefined3.render中声明函数,函

2021-12-01 17:13:25 721

原创 深度优先搜索简单算法题

给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回能在甲板 board 上放置的 战舰 的数量。战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。输入:board = [["X",".",".","X"],[".",".",".","X"],

2021-11-27 19:20:04 382

转载 动态规划走台阶问题

三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。解题思路dp[i]含义:走到i阶台阶一共有dp[i]种方式dp数组初始化:dp[0]:0层台阶?没有意义,不用多管,直接赋值为nulldp[1]:1层台阶,只有1种方式dp[2]:2层台阶,有1+1、2一共2种方式,故dp[2]=2dp[3]:3层台阶,有1+1+1、1+2、2+1、3一共4种方式,故dp[3]=4所以dp = [null, 1, 2, 4]递推公

2021-11-25 13:04:12 593

原创 js小数取整

由于js不是强类型语言,例如定义变量时var ,let ,const等等。不像java语言中int 等能自动将小数部分舍弃转换为整数类型所以想要达到相似目的可以用以下函数1.parseInt:舍弃小数部分2.Math.ceil:有小数就向上加一3.Math.round:四舍五入4.Math.floor:向下取整...

2021-11-17 16:31:51 425

原创 HTML5&CSS3记录

1.标签header --- 头部标签nav --- 导航标签article --- 内容标签section --- 块级标签aside --- 侧边栏标签footer --- 尾部标签2.3.新标签选择器4.代码演示nth-child和nth-of-type区别5.伪元素选择器代码演示6....

2021-11-16 17:19:43 195

原创 Vue生命周期

Vue 生命周期1生命周期钩子函数每个 Vue 实例在被创建时都要经过一系列的初始化过程生命周期分为三大阶段:初始化显示、更新显示、销毁Vue实例初始化阶段的钩子函数:beforeCreate() 实例创建前:数据和模板均未获取到created() 实例创建后: 最早可访问到 data 数据,但模板未获取到beforeMount() 数据挂载前:模板已获取到,但是数据未挂载到模板上。mounted() 数据挂载后: 数据已挂载到模板中更新阶段的钩子函数:...

2021-11-15 23:17:45 821

空空如也

空空如也

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

TA关注的人

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