前端
文章平均质量分 58
to be fan
名乎利乎道路奔波休碌碌,来者往者溪山清净且停停
展开
-
JS基础算法
反转字符串function reverseStr(str) { return str === "" ? "" : (reverseStr(str.substring(1)) + str.charAt(0))}reverseStr("hello")计算整数的阶乘5! = 1*2*3*4*5 = 120function jieCheng(num){ return num <= 1 ? 1 : num * jieCheng(num-1)}jieCheng(5)获取数组中的最大原创 2022-03-04 11:44:37 · 176 阅读 · 0 评论 -
前端开发中的try...catch
基本结构try { throw new Error('Hello world'); console.log('抛出错误后,这里就不会执行了')} catch (err) { // 只有try抛出错误这里才会执行 console.error(err.message); // Hello world} finally { console.log('无论如何都会执行');}catch捕获的Error对象中包含以下属性:name:是错误的名称,例如 “Error”, “Synta原创 2022-02-11 09:17:18 · 4868 阅读 · 0 评论 -
spring boot图片上传和下载
图片上传流程步骤前端传送图片(base64)到服务器服务器将base64转换为byte []服务器根据存储路径生成文件,然后以流的方式写入byte[]前端请求图片服务器根据路径读取文件,以流的方式返回前端上传图片<input type="file" class="img-upload" @change="uploadChange" accept="image/*"/>uploadChange(el) { let that = this;原创 2021-06-17 19:22:48 · 1560 阅读 · 0 评论 -
JS模块化历程
首先,在ES6的class出来之前是没有模块的,JS就不是一个模块化的语言,所谓的“模块”要么是个匿名函数,要么就是个对象的伪模块var module = (function(){ let _count = 2 // 私有变量 let m1 = function() { console.log(_count) } let m2 = function() { console.log(_count + 1) } return {原创 2021-06-15 16:49:36 · 151 阅读 · 0 评论 -
vue与小程序的生命周期
VUE的生命周期创建Vue对象 | // beforeCreated监听数据 |初始化事件 | // created编译模板 | // beforeMount挂载实例 // mounted由上分析各个生命周期的情况以及可以做的事情:beforeCreated // 什么都获取不到,可以加个loading | created // 可以获取到data,methods等,但是拿不到dom原创 2021-06-15 16:47:10 · 282 阅读 · 0 评论 -
Set,Map,WeakSet,WeakMap
setSet 本身是一种构造函数,用来生成 Set 数据结构new Set([iterable]) // 参数必须时可迭代的,比如数据Set是一种集合,形式是[value, value],即key跟value是一致的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R1p8UX34-1623746535277)(/img/bVcQI37)]所以可以用new Set()来去重,因为不可能存在相同的key// 去重数组的重复对象let arr = [1, 2, 3,原创 2021-06-15 16:43:09 · 39 阅读 · 0 评论 -
浏览器垃圾回收机制
垃圾回收算法(v8)可达性:从根节点出发,遍历所有的对象,可以遍历到的对象,就是可达的根节点包含:全局变量window文档DOM树存放在栈上的变量例let dog.a = new Array(1)如果此时,将另外一个对象赋给adog.a = new Object()那么从根节点栈dog一步一步遍历,发现堆Array是不可达的,那么它就要被回收掉。此时会引出一个概念:内存碎片内存碎片就是不可达的对象被回收后,内存中会存在大量的不连续空间还有一个问题:浏览器在进行垃圾回原创 2021-06-15 16:41:42 · 2676 阅读 · 0 评论