昨天,我们介绍了如何在Spring Boot中实现文件的上传。有读者问:那么如果有多个文件要同时上传呢?这就马上奉上,当碰到多个文件要同时上传的处理方法。 动手试试 本文的动手环节将基于Spring Boot中实现文件的上传一文的例子之上,所以读者可以拿上一篇的例子作为基础来进行改造,以体会这之间
二叉树遍历 二叉树的遍历是指从根节点出发,按照某种顺序依次访问所有节点,而且只访问一次,二叉树的遍历方式很多,如果限制了从左到右的方式,那么主要有4种: 前序遍历:根左右 中序遍历:左根右 后续遍历:左右根 层序遍历:按层级、从上到下,在同一层从左到右遍历 以上一篇的二叉树为例子,先序遍历 先
工作需求中要做一个将整个页面变成图片下载在本地的功能。 使用了html2canvas第三方JS插件。 在渲染的时候,因为原页面含有DIV和canvas连线,出来的图片,div正常,但是canvas连线相对DIV偏移向上了。 一开始以为是html2canvas在渲染原页面canvas的时候会出问题,
基本概念 script标签 defer:脚本延迟到文档被解析和显示之后再执行 ! defer属性只适用于外部脚本文件 async:表示立即下载脚本,页面其他操作不影响 ! async属性只适用于外部脚本文件 <!-- 标记async的脚本不保证加载的先后顺序,第二个脚本可能会在第一个先执
先来看一下基本概念进程: 操作系统分配的占有CPU资源的最小单位。拥有独立的地址空间。线程: 安排CPU执行的最小单位。是进程内的一个独立执行单元 计算机含有多个进程,每个进程有含有多个线程。 关系: 一个进程至少有一个线程。 一个进程内的数据可以供其中的多个线程直接共享 多个进程之间的数据是不能
前面介绍过的都是线性的数据结构,本文将介绍一种非线性数据结构——树,它对于存储需要快速查找的数据非常有用。树是一种一对多的数据结构,树这种数据结构在生活中经常看到,如 组织结构图   图中每个元素我们叫做节点,即树(Tree)可以理解为是n(n>=0)个节点的有限集合。当n=0时称为空树。
其实开发一个项目最需要的就是操作文档,文档的质量决定了项目的开发流程,开发规范等等。 对于前端框架来说,文档最友好的还是vue,不仅是中国人的框架,而且文档支持了中文。仔细查看 Vue 的官方文档,还有Vue-Router,Vuex,Vite。发现尤大的文档都是一个模板刻出来的,而且也非常简洁好用
sort()方法用于对数组的元素进行排序。 排序顺序可以是字母或数字,并按升序或降序。 默认排序顺序为按字母升序。 数字排序(数字和升序): 语法arr.sort([compareFunction]) 参数在JavaScript中 方括号 里的内容是可选的,可就是compareFunction这个
Vue.js组件的使用 一.组件   组件是可复用的vue实例,可分为局部组件和全局组件。 二.组件入门小案例   要求定义一个组件”one“,并重复使用它。 2.1.代码实例 1 <html lang="en"> 2 <head> 3 <meta c
  由于JavaScript能力有限,它所提供的API都只停留在单机阶段。这样会造成一些功能无法实现,如:无法实现用户登录时,用户在输入用户账户时显示用户对应的头像;无法实现用户注册时,用户输入账号或用户名时提示是否存在;无法实现在留言板功能看到最新的用户留言。   上述这些问题的共同点就是:数据
实际工作中,JavaScript正则表达式还是经常用到的。所以这部分的知识是非常重要的。 一、基础语法: 第一种:字面量语法 var expression=/pattern/flags; 第二种:RegExp构造函数语法 var pattern = /w/gi; //字面量语法 var pat
目录1. 概述2. 详论3. 参考 1. 概述 在上一篇文章《JavaScript异步编程3——Promise的链式使用》中,通过Promise的链式使用,避免程序中多次嵌套回调(回调地狱)。根据前面的文章我们可以知道,Promise是基于状态的,成功/失败的状态会分别去处理相应的回调函数。一般而
很多时候会遇到这种情况,由于某个执行过程很耗时间,所以想在执行前加上loading,执行后把loading去掉。 例如如下代码: document.body.innerText = "loading"; //dom操作1 var now = new Date().valueOf() whil
最近在学习算法方面的知识,看到了一个由算法主导的小游戏,这里给大家分享下代码: 效果: 代码: <head> <meta charset="UTF-8"> <meta name="viewport" content="width=360px,use
在之前的一篇文章中简单理了下JS的运行机制,顺着这条线深入就又遇到了几个概念,什么是事件循环,什么又是宏任务、微任务呢,今天用这篇文章梳理一下。 以下是我自己的理解,如有错误,还望不吝赐教。 事件循环与消息队列 首先大家都知道JS是一门单线程的语言,所有的任务都是在一个线程上完成的。而我们知道,有
1、前言 ​ vue-element-admin是一个纯前端的框架,左侧菜单是根据路由生成的。实际开发中经常需要根据当前登陆人员的信息从后端获取菜单进行展示,本文将详细介绍如何实现该功能。 2、详解 ​ 整体思路为:登陆 > 成功后根据用户信息获取菜单 > 根据菜单生成路由信息