JS
文章平均质量分 50
JA+
优快云笔记本,佛系更新
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WeakMap,WeakSet 使用场景收集
接口请求参数与返回数据的映射。只要请求参数的对象没有被回收,则保存请求返回的结果。原创 2023-04-19 14:05:26 · 239 阅读 · 0 评论 -
JS 如何正确清除一个元素下的所有子元素
删除一个子元素后,HTMLCollection 的长度会发生改变原创 2022-06-01 16:36:05 · 8737 阅读 · 0 评论 -
JS 动态构建Promise then/catch 链
构建Promise 链的方式如下两种方式,构建的promise catch链结果不同方式1let p = Promise.reject()p.catch(() => { console.log('err1 catch')})p.catch(() => { console.log('err2 catch')})两个catch 都被执行。由此看出对于状态已经reject的promise,调用catch方法,传入的函数会立即执行。方式2Promise.r原创 2022-05-11 21:36:22 · 629 阅读 · 0 评论 -
原生JS方法: URLSearchParams 获取URL第一个参数返回null
new URLSearchParams('?name=11&orgid=or').get('name')原因:旧版本浏览器(49版本)不解析问号,会把问号当成key的一部分因此旧版内核行为new URLSearchParams('?name=11&orgid=or').get('name') // nullnew URLSearchParams('?name=11&orgid=or').get('orgid') // 'or'new URLSearchPara.原创 2022-01-11 14:26:55 · 1875 阅读 · 0 评论 -
JS Array.prototype.splice 不会回收Array占用的内存问题记录(暂未查明原因)
代码定义一个10w大小的数组,分别使用splice切分和重新赋值操作,使用chrome观察内存分配情况<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>array splice</title> </head> <body> </body> <script type="text/javascrip.原创 2021-05-14 17:24:09 · 534 阅读 · 0 评论 -
JS 原生自动加载的大数据表格探索
大数据表格,就是能够没有分页的情况下,一次展示上万条数据的表格原创 2021-05-09 21:45:48 · 1934 阅读 · 2 评论 -
JS 原生实现Infinite scroll(无限滚动)加载数据的练习
1. 通过计算scroll到元素底部距离实现2. 使用IntersectionObserver实现原创 2021-05-09 13:14:15 · 1901 阅读 · 0 评论 -
JS 一段代码弄懂clientHeight/offsetHeight/scrollHeight的计算方式
1. clientHeight / clientWidth 计算元素内可用区的高度、宽度。2. offsetHeight / offsetWidth 计算元素整体占用的高度、宽度。(不包括margin)3. scrollHeight / scrollWidth 当内容溢出时,计算元素内子节点总高度、宽度,否则等于clientHeight / clientWidth。原创 2021-04-25 14:30:12 · 494 阅读 · 0 评论 -
JS 关于setTimeout不能使用throw抛出异常问题记录
想使用setTimeout做一个超时抛出错误,结果发现不能用async function test(){ console.log('---------1'); let loop = true; const time = setTimeout(() => { loop = false; console.log('---------2'); throw new Error('timeout'); }, 1000);原创 2021-01-29 17:15:35 · 1251 阅读 · 0 评论 -
JS 浅探async/await与generator生成器的同时使用
想要将同步方法的执行进度传递给调用方,除了多次使用callback回调外,是否可以使用ES6生成器来实现呢原创 2021-01-21 09:05:12 · 357 阅读 · 0 评论 -
JS 加解密记录:HmacSHA1,RC4,RSA
CryptoRC4const crypto = require('crypto');let code = 'd3f02951aabb2694da3a2ca90b102360edb9df90dd51775ca438c375cbe2f0799ef0785fd7b892aba5e9fc3bdda615780db4d43310bb4f9d75c4846b35831f';let secretKey = '小太阳小月亮';let decipher = crypto.createDecipheriv('r原创 2020-11-27 17:31:22 · 2316 阅读 · 0 评论 -
RSA加密简单理解,node-rsa使用记录
RSA一般由发送方(客户端)和接收方(服务端)各持有一对公钥和私钥。双方交换自己的公钥。数据交换的过程中,使用对方的公钥进行数据加密。自己私钥进行解密。发送方使用私钥对信息进行加签(签名),将密文与签名作为参数发起请求。接收方使用请求方公钥,明文,接收的签名,进行验签(签名验证)。RSA签名和验签的作用为了增强数据交换的安全性。假设不进行签名和验签。发送方(客户端)的请求,可能被第三方拦截(中间人攻击)。由于接收方(服务端)的公钥是公开的,中间人在拦截发送方请求后,使用公原创 2020-10-31 14:51:21 · 4468 阅读 · 1 评论
分享