JavaScript
文章平均质量分 51
喜欢读书的三金
浏览器 & 网络、前端工程化、性能优化、Nodejs、数据结构和算法
展开
-
JavaScript 进阶小细节-2
1. 构造函数返回属性时,属性的值为? function Car(){ this.mark = "L" return {mark: "M"} } const myCar = new Car() console.log(myCar.mark); // M返回属性的时候,属性的值等于返回的值,而不是构造函数中设定的值。2. 修改引入的模块会怎样?// counter.js原创 2022-01-13 17:05:10 · 700 阅读 · 1 评论 -
JavaScript 进阶小细节-1
1. 定时器的返回值是什么?const timer1 = setTimeout(() => { console.log('hi'); }, 0);const timer2 = setTimeout(() => { console.log('hello'); }, 1000); const timer3 = setTimeout(() => { console.log('hey');原创 2022-01-12 14:21:15 · 475 阅读 · 0 评论 -
如何理解闭包
摘要本文介绍了闭包的定义,作用,及常见的理解中的误区,并没有引入其他的专业词汇。定义闭包对应的英文是closure,下边的定义是来自MDN。A closure is the combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment). In other words, a closure gives you access原创 2021-12-05 19:38:41 · 696 阅读 · 0 评论 -
JS的垃圾回收机制
变量提升:是负责解析执行代码的JS引擎的工作方式产生的一种特性JS引擎在运行一份代码的时候,会按照下面的步骤执行:首先,对代码进行预解析,并获取代码的所有变量然后,将这些代码的声明语句统一放到代码的最前面最后,开始一行一行运行代码预解析:...原创 2021-11-24 19:03:29 · 880 阅读 · 0 评论 -
TypeScript从入门到精通(详解)
TypeScript 是什么TypeScript 简称:TS,是 JavaScript 的超集。简单来说就是:JS 有的 TS 都有。JS写的代码在TS的环境下都能跑。在 JS 基础之上,为 JS 添加了类型支持。TypeScript = Type + JavaScriptTypeScript 是微软开发的开源编程语言,可以在任何运行 JavaScript 的地方运行// TypeScript 代码有明确的数据类型let age1: number = 18// JavaScript 代码原创 2021-11-24 16:56:19 · 20885 阅读 · 13 评论 -
最常用的数组排序方法
整理了一下最常用的数组排序方法,话不多说,直接上代码1、sort() 方法是最强大的数组方法之一// 从小到大排序 let arr = [4,3,2,1,0] let newArr = arr.sort((a,b)=>a-b) console.log(newArr); // [0,1,2,3,4]// 从大到小排序 let arr = [0,1,2,3,4] let newArr = arr.sort((a,b)=>b-a) console.lo原创 2021-11-21 14:01:42 · 519 阅读 · 0 评论 -
最常用的数组去重方法
整理了一下我最常用的三种数组去重方法,话不多说,直接上代码1、indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1// 第一种方法 indexOf function test(arr) { let newArr = [] for(let i=0;i<arr.length;i++){ // 如果该元素在数组中找不到 就会返回-1 if(newArr.indexOf(arr[i原创 2021-11-21 11:04:24 · 543 阅读 · 0 评论 -
本地存储webStorage
本地存储webStorage = localStorage + sessionStorage存储内容大小一般支持5M左右(不同浏览器可能会有差异)浏览器通过Window.localStorage 和 Window.sessionStorage 来实现本地存储机制相关的APIxxxxxStorage .setItem (‘key’, ‘value’)把键值对的数据添加到存储中,如果键名已经存在,则更新其对应的值xxxxxStorage .getItem (‘key’)读取获得该键名对应原创 2021-11-18 11:07:03 · 293 阅读 · 0 评论 -
浅谈深浅拷贝
浅谈深浅拷贝原创 2021-11-17 16:27:39 · 191 阅读 · 0 评论 -
浅谈JavaScript中的继承
原型继承:通过改造原型链,利用原型链的特性,实现继承方法(需要掌握原型、原型链)组合继承:将 原型链 和 借用构造函数 技术组合到一起,通过原型链实现对原型属性和方法的继承(主要是方法),而通过借用构造函数来实现对实例属性的继承(需要掌握call、apply方法的用法和区别) function Person(name,age){ this.name = name this.age = age } Person.prototype.say =原创 2021-11-15 20:51:57 · 410 阅读 · 0 评论 -
业务导出excel功能实现
思路从后台重新获取数据(这样才能确保是最新的)对数据的格式进行转换(后端给的数据字段名都是英文的),以用来做导出核心在于把后端接口返回的数据转成Export2Excel这个插件需要的格式准备表头header数据因为接口中返回的数据中的key是英文,而我们期望导出的表头是中文,所以提前准备中文和英文的映射关系const map = { 'id': '编号', 'password': '密码', 'mobile': '手机号', 'username': '姓名', 'tim原创 2021-10-29 22:34:31 · 163 阅读 · 0 评论 -
excel导入的数据中文字段转英文
需求把一个对象数组中的每个对象的属性名,从中文改成英文思路对于原数组每个对象来说1) 找出所有的中文key2) 得到对应的英文key3) 拼接一个新对象: 英文key:值代码实现为了方便维护代码,单独封装一个方法来实现这个转换的功能。/** * results excel表格的内容 // [ {'姓名':'小张', '手机号': '13712345678'} , {.....} ] // 目标原创 2021-10-28 22:29:56 · 967 阅读 · 0 评论 -
用递归的方式实现数组转树
用递归的方式实现数组转树原创 2021-10-27 20:09:37 · 258 阅读 · 0 评论 -
如何把excel里面的日期时间转换为标准时间格式
当我们在做Excel导入功能的时候例如导入上图所示的excel表格,你会发现excel会对时间进行特殊的编码,我们在控制台获取的日期时间却是下面这种格式:但是后端通常需要的是标准的时间格式,这是我们需要进行数据格式处理。解决方法:export function formatExcelDate(numb, format = '/') { const time = new Date((numb - 25567) * 24 * 3600000 - 5 * 60 * 1000 - 43 * 1000原创 2021-10-24 16:51:50 · 1984 阅读 · 0 评论 -
详解正则表达式
什么是正则表达式?正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更复杂的模式。正则表达式可用于所有文本搜索和文本替换的操作。语法:/正则表达式主体/修饰符(可选)正则表达式修饰符修饰符描述i搜索不区分大小写g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)m执行多行匹配正则表达式主体表达式描述[abc]查找方括号之间原创 2021-10-21 20:27:02 · 666 阅读 · 0 评论 -
用非递归的方式实现数组转树
目标:把平铺的数组结构转成树形结构原创 2021-10-20 08:39:16 · 142 阅读 · 0 评论