随笔分类 - JavaScript
【Javascript】前端对文件进行md5计算再上传,以节省OSS云端存储空间
摘要:## 安装插件 browser-md5-file [browser-md5-file 用于计算文件md5](https://www.npmjs.com/package/browser-md5-file),文档介绍较少,看看就能使用↓  * 0xffffff).toString(16) ```
【JavaScript】js 处理复制函数实现
摘要:```ts export const copyText = (text: string) => { const input = document.createElement('input'); input.setAttribute('readonly', 'readonly'); input.set
【JavaScript】将用户复制的转码后网页链接进行解码
摘要:>decodeURIComponent() 方法用于解码由 encodeURIComponent 方法或者其他类似方法编码的部分统一资源标识符(URI)。 ```js decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"); /
【JavasSript】后台返回 csv base64 下载
摘要:const exort = async () => { try { const { data } = await zhjxDownloadFile({ meta: { user_token: localStorage.getItem('user_token'), file_name: activeN
【JavaScript】 e.deltaY e.wheelDeltaY 在mac上缩放只能放大或者放小问题
摘要:mac 的 e.deltaY 值和win是不相同的,因此不能用具体数值(win滚轮向上是e.deltaY是-100,e.wheelDeltaY是120)判断 // mac 和 win 上的值不一样 只能判断是否大于小于0 console.log('e.deltaY', e.deltaY); cons
【JavaScript】各种常见手写题汇总复习
摘要:防抖 function throttle(fun, time) { let timer = null return () => { if (timer) { return } fun() timer = setTimeout(() => { timer = null }, time) } } 节流
【JavaScript】内存管理和垃圾收集机制
摘要:师傅给我的模拟面试,感觉我个人对这点没深入吧,再总结学习以下。 简介 像其他的编程语言都有各自底层的内存管理接口,比如 C 语言的 malloc() 和 free()。但是,JavaScript 是在创建变量时自动分配内存,在不使用时自动释放,这个释放过程称为垃圾回收。 JavaScript 的这种
【JavaScript】手写深拷贝 2.0(更新 2022-07-15)
摘要:前言 鄙人老版 js 深拷贝博客链接,当时写的存在很多不足...现在跟着方应杭老师复习了下,收获满满。 用 JSON const b = JSON.parse(JSON.stringify(a)) 缺点: 不支持 Date、RegExp(正则)、函数等数据; 不支持引用(即环状结构,类似 windo
【JavaScript】将数组某个元素排到第一位
摘要:实现开发中需要将某一类型的 item 排到首位(为什么后端没有给我好好排!!!),反正就要咋们前端做(无奈+摊手)。 用到了数组的 filter、map、unshift、splice,感觉这个操作还是可以复习下 Js 数组 api 的很多东西。
【JavaScript】从实现函数柯里化复习 JavaScript 核心知识
摘要:// 柯里化定义:一个函数可以接受多个参数,反复被调用 // fn(1,2,3,4,5)(6,7)(8,9,10) 该技术被命名为函数柯里化 // 例子:求和功能,得到 55 的结果 // 不固定参数个数的函数 √ // 第一次执行返回函数 √ // 后续执行仍然返回函数 √ // 能缓存参数 √
【JavaScript】如何根据长度并计算渲染px width宽度
摘要:需求 公司项目需求是要做动态响应式表头,因此就要动态渲染表格表头宽度在一定范围内(100px-200px)。 完整实现图: 实现过程 这里就不讲css自动超出省略了,主要是然后根据后台返回的字符串计算实际渲染字符宽度,并设置给 element 表头的 min-width :min-width="ca
【JavaScript】模糊搜索
摘要:需求展示 前端做模糊搜索,展示搜索的字符串。 关键代码实现 // selectedColumns 搜索数据 // selectParam 用户输入字符串 this.selectedColumns.forEach((item, index) => { let str = item.displayNam
【JavaScript】获取url中的参数方法封装
摘要:getParams() { const url = window.location.href const index = url.indexOf('?') + 1 const params = url.substr(index) const arr = params.split('&') const
【JavaScript】下载文件 Blob 流数据函数封装和使用
摘要:1.请求设置请配置 responseType: 'blob' export function xxx(id) { return request({ url: `xxx?id=${id}`, method: 'get', responseType: 'blob' }) } 2.通过 res.heade
【JavaScript】后台返回来的csv流数据如何导出成csv文件
摘要:代码 /** * @description 导出csv * @param {String} textName 导出的文件名 * @param {*} data 流数据 */ function downloadByPeople(textName, data) { const url = genUrl(
【JavaScript】前端路由原理之 hash 模式和 history 模式
摘要:什么是路由? 个人理解路由就是浏览器 URL 和页面内容的一种映射关系。 比如你看到我这篇博客,博客的链接是一个 URL,而 URL 对应的就是我这篇博客的网页内容,这二者之间的映射关系就是路由。 其中路由又分为前端路由和后端路由,由于目前是大部门开发模式都是前后端分离开发模式,其大部分应用都是 S
【JavaScript】手写深度比较
摘要:代码如下 // 判断是否是对象或者是数组 function isObject(obj) { if (typeof obj == 'object' && obj !== null) { return true } } // 全相等 function isEqual(obj1, obj2) { // 如
【JavaScript】本地存储localStorage
摘要:在学习jQuery制作todolist项目时用到了js的本地存储,发现好像没学,因此记录下学习过程 一.什么是js本地存储? localStorage会可以将第一次请求的数据之间存储到本地,这个相当于一个大小5M的针对前段页面的数据库 二.具体使用方式 // 1.通过localStorage 没有时
【JavaScript】数组对象重排序方法 sort
摘要:由于在重新复习js的过程中,再一次接触到了js数组对象排序方法之一——sort(),先简单讲一下sort()方法的用法: 主要用于数组对象的排序,可以升序,也可以降序,但存在一个问题,如下代码: var arr = [0, 3, 2, 16, 15, 10]; arr.sort(); console