随笔分类 -  javascript

摘要:我们一般使用extends来继承接口或者类,但是extends还可以用来泛型约束 function getNames<T extends { name: string }>(data: T[]): string[] { return data.map((v, k) => v.name); } 比如, 阅读全文
posted @ 2022-11-25 17:03 Jone_chen 阅读(99) 评论(0) 推荐(0) 编辑
摘要:批量制造数据 // 方法一、 function createData() { const data = []; for (let i = 0; i < 1000; i++) { data.push({ name: `name${i + 1}`, }); } return data; } const 阅读全文
posted @ 2022-11-25 15:42 Jone_chen 阅读(30) 评论(0) 推荐(0) 编辑
摘要:先来看这样一个例子: function move(nums) { nums.sort((a, b) => b ? 0 : -1) return nums } var nums = [0, 2, 0, 1, 5] var res = move(nums) console.log('res: ', re 阅读全文
posted @ 2022-04-20 15:10 Jone_chen 阅读(221) 评论(0) 推荐(0) 编辑
摘要:(?=exp)零宽度正先行断言 零宽度正先行断言 为例: "先行"表示待校验的位置在前,即校验的位置在exp匹配的内容之前: **(?=\d{3})**表示校验的位置后面是三个数字; (?=\d+) 表示校验的位置后接着的是数字; **(?=^.{5}$)**表示校验的位置后字符串长度为5,因为加了 阅读全文
posted @ 2021-11-26 10:06 Jone_chen 阅读(298) 评论(0) 推荐(0) 编辑
摘要:比较 二者本质:都是限制频繁触发 二者区别: throttle: 节流阀,保证多少ms内只执行一次。 debounce: 去抖,保证多少ms内不再被触发时就会执行一次。 类比电梯策略理解: throttle:第一个人进来后15s运送一次,不等待。 debounde:第一个人进来15s后运送一次,假设 阅读全文
posted @ 2021-05-21 17:36 Jone_chen 阅读(430) 评论(0) 推荐(0) 编辑
摘要:// 点击文件下载,fileUrl为http的url function downloadFile(fileUrl) { fetch(fileUrl).then(res => res.blob()).then(blob => { const a = document.createElement('a' 阅读全文
posted @ 2021-03-25 17:11 Jone_chen 阅读(55) 评论(0) 推荐(0) 编辑
摘要:Javascript 有用的奇淫技巧 es6去重 此技巧适用于包含基本类型的数组:undefined,null,boolean,string和number。 (如果你有一个包含对象,函数或其他数组的数组,你需要一个不同的方法!) 快速浮点数转整数 如果希望将浮点数转换为整数,可以使用Math.flo 阅读全文
posted @ 2020-01-10 16:27 Jone_chen 阅读(387) 评论(0) 推荐(0) 编辑
摘要:... 运算符, 是ES6里一个新引入的运算法, 也叫展开/收集运算符(也被叫做延展操作符 - spread operator),本篇文章讲解一下其具体的用法。 基础用法1:展开 基础用法2:收集 基础用法3:把类数组转换为数组 使用 ... 就可以实现类数组到数组的转换, 转换之后, 就可以使用数 阅读全文
posted @ 2020-01-02 15:57 Jone_chen 阅读(3016) 评论(0) 推荐(2) 编辑
摘要:虽然在JavaScript里一切皆对象,但为了理解原型链系统,我们需要将JavaScript的对象分为对象和函数两大类。在此基础上,JavaScript的原型链逻辑遵从以下通用规则: 对象有__proto__属性,函数有prototype属性; 对象由函数生成; 生成对象时,对象的__proto__ 阅读全文
posted @ 2019-07-03 09:49 Jone_chen 阅读(1538) 评论(0) 推荐(0) 编辑
摘要:最近在看《JavaScript设计模式与开发实践》这本书,受益匪浅,小记录一下书中的各个demo,加深理解; 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 案例1:很多公司的年终奖是根据员工的工资基数和年底绩效情况来发放的。例如,绩效为S 的人年终奖有4 倍工资 阅读全文
posted @ 2019-06-19 15:39 Jone_chen 阅读(623) 评论(0) 推荐(0) 编辑
摘要:在 JavaScript 中,所有的代码都是单线程的,所谓的回调函数就是为了处理一些异步的操作。而多层的回调函数嵌套是一种比较古老的处理方式,这种代码的弊端显而易见,结构混乱、代码冗余,而 Promise 的出现就很好的解决了这个问题; 基本 Promise 链式调用 Promise 封装 Ajax 阅读全文
posted @ 2019-03-12 16:59 Jone_chen 阅读(2611) 评论(0) 推荐(0) 编辑
摘要:直接代码吧: 阅读全文
posted @ 2019-01-08 11:14 Jone_chen 阅读(6524) 评论(2) 推荐(0) 编辑
摘要:一、简单一维数组的去重: 简单一维数组的去重方法有很多,这种数组里面的值都是普通的数据类型,并没有对象,因此去重方法有很多,这里总结一下常用的四种方法(网上还有一些其它的方法): 方法一:双层循环去重 function uniqueArr(arr, key) { var newArr = []; f 阅读全文
posted @ 2018-10-22 09:50 Jone_chen 阅读(451) 评论(0) 推荐(1) 编辑
摘要:Array 的方法 reduce 是一个有非常多用处的函数。 它一个非常具有代表性的作用是将一个数组转换成一个值。但是你可以用它来做更多的事。 1、使用"reduce"代替"map" 2、使用"reduce"代替"filter" 3、应用 计算数组中元素出现的次数(将数组转为对象) 去除数组对象中重 阅读全文
posted @ 2018-07-30 15:56 Jone_chen 阅读(279) 评论(0) 推荐(0) 编辑
摘要:1、使用ES6提供的 Object.keys(obj) 方法 Object.keys 返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。 缺点: 部分浏览器不支持,需要通过 babel 类插件转为 ES5 2、遍历对象,通过对象的 hasOwnPropert 阅读全文
posted @ 2018-07-30 15:10 Jone_chen 阅读(5418) 评论(0) 推荐(0) 编辑
摘要:关于ES6,其实网上已经有很多的资料可供查询,教程可参考阮一峰大神的 "ES6入门" ,本文只是对Class这一语法做一个总结: 一、Class基本语法 constructor方法 constructor是类的默认构造方法,new命令生成对象实例时,自动调用该方法。一个类必须有constructor 阅读全文
posted @ 2018-04-20 17:06 Jone_chen 阅读(464) 评论(0) 推荐(0) 编辑
摘要:js生成接口请求参数签名加密 定义规则:将所有参数字段按首字母排序, 拼接成key1 = value1 & key2 = value2的格式,再在末尾拼接上key = appSecret, 再做MD5加密生成sign,方法如下: 调用: 或: kAppKey,kAppSecret为常量,一般由后端定 阅读全文
posted @ 2017-12-29 10:42 Jone_chen 阅读(15968) 评论(2) 推荐(0) 编辑
摘要:时间戳转为格式化时间 /** * 时间戳转为格式化时间 * @Author chenjun * @DateTime 2017-11-10 * @param {[date]} timestamp [时间戳] * @param {[string]} formats [时间格式] */ function 阅读全文
posted @ 2017-11-10 18:16 Jone_chen 阅读(741) 评论(0) 推荐(0) 编辑
摘要:重复的贪婪性 ?表示匹配0次或1次,(最多匹配1次); + +表示匹配1次或多次,(最少匹配1次); 表示匹配0次或多次,(匹配任意次); {m,n}表示匹配m到n次,(最少m次,最多n次); 举例: {1,2}优先匹配2次(贪婪),还可以匹配1次,可以看到上面的结果为["12", "3", "45 阅读全文
posted @ 2017-11-09 17:03 Jone_chen 阅读(385) 评论(0) 推荐(0) 编辑
摘要:AlloyTouch 是来自于腾讯AlloyTeam团队开发的一个适用用移动端的js组件库。 特性: 1、丰富的组件 选择组件、级联选择组件、轮播组件、全屏滚动组件、下拉刷新组件、上拉刷新任君选择 2、超小的尺寸 压缩之后6.84K, GZIP之后2.24K 3、简单的API 超级简单的API,一分 阅读全文
posted @ 2016-12-23 14:49 Jone_chen 阅读(2922) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示