Canvas实现前端验证码

一、前言

canvas技术允许我们通过javascript脚本来绘制html页面,通过canvas我们可以绘制简单图形甚至开发简单游戏。本文主要讲述如何通过canvas技术实现前端验证码功能

源码在本文最后,需要的自取

思路:

通过观察验证码,发现验证码主要包括三部分,背景画布、验证码、干扰线和干扰点,只需要实现这三部分就可以完成这个功能

遇到比较棘手的问题,应该学会如何去拆解问题,将大问题变成一堆小问题,再将小问题拆解成更细小的问题,你就会发现问题迎刃而解

阅读全文

聊聊跨域这件事

一、引言

跨域这件事可能是个老生常谈的问题,不光是面试中会高频问道,实际开发中也会经常遇到。今天就来好好探讨一下这个 “万恶” 的跨域吧。

为什么我的万恶要加上引号呢,因为并不是完全是坏处,正所谓存在即合理,它的存在必然有它的用处。

阅读全文

VUE导出多页PDF截断问题

一、前言

使用的第三方:html2canvasjspdf

为了一劳永逸(更好的偷懒),做了一个简历修改的页面,将简历信息保存到数据库同时使用html2canvasjspdf导出PDF,但是在导出PDF时却发现文本内容在分页部分被直接截断,经过查阅资料没找到匹配的结果,于是就自己想办法解决吧。

阅读全文

正则表达式语法详解

一、前言

正则表达式很有魅力,熟练使用正则表达式会让开发更高效,更优雅,同时一些开发工具在搜索和替换时也支持正则表达式,如idea, vscode等等。

在你学会正则之前,你只能看着那些正则大师们,写了一串外星文似的字符串,替代了你用一大篇幅的if else代码来做一些数据校验

这篇文章主要参考知乎文章: 你是如何学会正则表达式的?b站:后盾人正则表达式系列课程,本文可以作为一种文档来查阅,里面基本每个知识点都有例子支撑,所以内容可能有点多

推荐两个网站,正则可视化Github很火的一个正则学习网站

阅读全文

JavaScript中箭头函数和普通函数的区别

一、前言

我写的基本所有文章都是面试题引发的,这篇也不例外哈哈

关于ES6中的箭头函数相信很多人在项目中都用过,但是确实没有深入研究过和普通函数有什么区别,被面试毒打过的我慢慢养成了喜欢深究的习惯,然而不在像在学校一样,“凡事多问几个为什么”,现在变成了,“凡是多查为什么”

对JavaScript的了解越深入,越发现这门语言的魅力

阅读全文

JavaScript中的this指向问题

一、前言

深入学习的过程是 快乐 的!!!

面试问到了箭头函数和普通函数的区别,去阮一峰ES6中看相关资料,发现主要还是指出 this 的指向问题,于是去深入理解this,相关文章又提出了执行上下文,调用栈等概念,顺着这个线索学下去发现盲区越来越多。。

本文主要介绍JavaScript中 this 关键字,原文地址:js 五种绑定彻底弄懂this,默认绑定、隐式绑定、显式绑定、new绑定、箭头函数绑定详解

阅读全文

JavaScript事件流

一、前言

javascript中的事件流清楚吗,可以简单描述一下过程吗

事件委托是什么,原理又是什么?

果然一面试脑子就发懵,事件流很久之前看过,后来忘了

包括vue中有些指令也有.stop等修饰符,其原理也都是js事件流的执行过程

阅读全文

浏览器事件循环机制

一、 前言

没话说还是要整个前言,不然队形就乱了。
好吧,本文就根据自己看了两天的事件循环机制以及宏任务微任务进行深入浅出的讲解
本文会由浅入深,以一个小白的角度理解事件循环机制这个js中高级面试中常考的问题

7.22补充:更改了标题,事件循环机制根据宿主不同分为浏览器的事件循环机制和node事件循环机制

阅读全文

EasyCode模板分享

一、前言:

最近接了一些学生的毕业设计, 大多数都是要求前后端分离。后台大多数都是java+springboot, 业务也都是对表的增删改查, 最多也就是连表查询, 代码也都千篇一律的CRUD, 我都快成为CV选手了。懒人总是想办法偷懒, 于是考虑自动生成代码, 以前用过mybatis-generator这个逆向工程, 能生成实体,dao层和xml文件, 用起来也比较简单, maven安装一个依赖+一个配置文件就搞定, 但是业务层和控制层并不能通用, 再后来就发现了EasyCode这个idea的插件, 用起来还是比较顺手的。以下是这个插件的优点和缺点

阅读全文