随笔分类 - JS
摘要:需求 // 如果存在一个对象 const obj = { a: 1, b: 2, c: 3, d: 4 } // 如何获得一个新对象,新对象包含除了c以外的所有key? // rest解构 const { c, ...newObj } = obj; console.log(newObj)
阅读全文
摘要:function quickSort(arr) { // 递归出口 if(arr.length <= 1) return arr; // 需要一个比较的中心值,通常设置成数组长度的一半 const privotIndex = Math.floor(arr.length / 2) const priv
阅读全文
摘要:前言 Axios和Fetch都是JavaScript中常用的HTTP请求库。它们有一些相似之处,例如可以在浏览器和Node.js中使用,都支持PromiseAPI等。但是,它们之间也有一些区别: 区别 API和用法 Axios和Fetch都提供了一个API来发起HTTP请求,但是它们的用法略有不同。
阅读全文
摘要:1. 数组内元素为一般数据类型 const arr1 = [1, 2, 3, 4, 5, 6, 7]; const arr2 = [11, 2, 33, 4, 55, 6, 77, 6, 6]; // arr1和arr2交集预计输出 [2, 4, 6] 交集代表两个数组中共同具有且不重复的值,因此我
阅读全文
摘要:方法1:Math.max.apply() Math.max() 方法默认接收多个参数并返回最大值,而 apply() 方法接收一个数组,将数组中的每一项作为参数传给调用函数,搭配使用可以得到最大值。 const arr1 = [1, 2, 3, 4, 5]; const arr2 = [{age:
阅读全文
摘要:前言 由于近期工作中设计项目部署上企业微信,并且需要需要用户通过授权来实现获取用户企业微信信息的需求。经过了解,企业微信平台通过Oauth2协议实现第三方应用授权方式获取用户信息,该操作不需要用户输入账号密码。由于这是一个全新的需求,也算是自己的知识盲区,因此记录下来。 操作步骤 先来看看企业微信提
阅读全文
摘要:bind()方法介绍: 原生bind,第一个参数是绑定的上下文对象,第二个参数开始是传递的参数,同时bind方法返回一个函数,需要手动执行。 bind(ctx, arg1, arg2 ...) 代码实现: // 实现的_bind Fucntion.prototype._bind = function
阅读全文
摘要:in和Object.hasOwnProperty()都可以用来检测对象中是否具有某个属性,它们最主要的区别在于前者不光检测当前对象,还会检测当前对象原型链中是否具有这个属性,后者只在当前对象自身上检测。 let a = { name: "zhangsan" } let b = { age: 18 }
阅读全文
摘要:HTML结构: <style> input:focus { outline: 0; } .validateInput { border: 2px solid red; } </style> <div> <input type="text" validate rule="max: 8, min: 3"
阅读全文
摘要:正则表达式非常强大,几乎能完成所有字符串的操作,唯一的缺点是它的运用十分复杂且灵活。 字面量创建正则 // //内部写匹配规则,后面写模式 let reg = /\d/g 对象创建正则 // 第一个参数是匹配规则,第二个是模式。注意:在对象里面转义需要双斜杠\\ let reg1 = new Reg
阅读全文
摘要:Object的解构 假如我们有一个对象 obj const obj = { name: "zhangsan", age: 20, gender: "male", } 通常情况我们要获取到 obj 内的属性,需要分别定义变量通过 . 操作符获取 const name = obj.name, age =
阅读全文
摘要:前言 最近的工作中遇到了一项新的需求,即用户需要点击按钮实现导出一份Excel或者Doc文档。如何实现呢?这就需要用到 Blob 对象了。 Blob 何为 Blob ?引用MDN的话: Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取。 Blob 是一个构
阅读全文