06 2022 档案

摘要:加密的目的,简而言之就是将明文转换为密文、甚至转换为其他的东西,用来隐藏明文内容本身,防止其他人直接获取到敏感明文信息、或者提高其他人获取到明文信息的难度。通常我们提到加密会想到密码加密、HTTPS 等关键词,这里从场景和方法分别提一些我的个人见解。 场景-密码传输 前端密码传输过程中如果不加密,在 阅读全文
posted @ 2022-06-30 10:54 下一秒钟已经不同 阅读(343) 评论(0) 推荐(0) 编辑
摘要:不考虑正则、函数等奇怪类型的拷贝,满足大多数深度拷贝需求定制需求如下:1、循环引用2、Symbol 类型拷贝 function deepClone(val,map = new WeakMap()){ if(val null || typeof val !=='object') return val; 阅读全文
posted @ 2022-06-28 08:40 下一秒钟已经不同 阅读(187) 评论(0) 推荐(0) 编辑
摘要:事件代理作用主要是 2 个 将事件处理程序代理到父节点,减少内存占用率 动态生成子节点时能自动绑定事件处理程序到父节点 阅读全文
posted @ 2022-06-27 10:07 下一秒钟已经不同 阅读(265) 评论(0) 推荐(0) 编辑
摘要:bfs利用队列实现,循环中做的是push => shift => push => shift dfs利用栈实现,循环中做的是push => pop => push => pop 刚刚好,中间仅仅差了一个数组方法: function bfs(target, id) { const quene = [. 阅读全文
posted @ 2022-06-23 09:16 下一秒钟已经不同 阅读(50) 评论(0) 推荐(0) 编辑
摘要:https协议由 http + ssl 协议构成,具体的链接过程可参考SSL或TLS握手的概述 中间人攻击过程如下: 服务器向客户端发送公钥。 攻击者截获公钥,保留在自己手上。 然后攻击者自己生成一个【伪造的】公钥,发给客户端。 客户端收到伪造的公钥后,生成加密hash值发给服务器。 攻击者获得加密 阅读全文
posted @ 2022-06-22 14:01 下一秒钟已经不同 阅读(114) 评论(0) 推荐(0) 编辑
摘要:大概思路是,用正则替换掉关键词。 let panter = new RegExp(关键词, 'g') 该行字符串.replace(panter, '<b style="color: #2D7BFF">' + 关键词 + '</b>') 阅读全文
posted @ 2022-06-17 10:07 下一秒钟已经不同 阅读(17) 评论(0) 推荐(0) 编辑
摘要:Promise._race = promises => new Promise((resolve, reject) => { promises.forEach(promise => { promise.then(resolve, reject) }) }) 阅读全文
posted @ 2022-06-16 10:54 下一秒钟已经不同 阅读(38) 评论(0) 推荐(0) 编辑
摘要:时间复杂度为O(n): 其他遍历 function convert(list) { const res = [] const map = list.reduce((res, v) => (res[v.id] = v, res), {}) for (const item of list) { if ( 阅读全文
posted @ 2022-06-15 15:54 下一秒钟已经不同 阅读(288) 评论(0) 推荐(0) 编辑
摘要:思路应该是对 URL的组成部分 分别进行校验 protocol domain name port path (不用校验) params anchor (不用校验) 代码: 1、使用组成部分判断 const isUrl = urlStr => { try { const { href, origin, 阅读全文
posted @ 2022-06-13 11:03 下一秒钟已经不同 阅读(44) 评论(0) 推荐(0) 编辑
摘要:function sum(arr, target) { const res = [] for (let i = 0; i < arr.length; i++){ const a = target - arr[i] const index = arr.indexOf(a,i) if (index>=0 阅读全文
posted @ 2022-06-10 08:50 下一秒钟已经不同 阅读(27) 评论(0) 推荐(0) 编辑
摘要:从最终渲染的 DOM 来看,这两者都是链接,都是 <a> 标签, 区别是:<Link> 是 react-router 里实现路由跳转的链接,一般配合 <Route> 使用,react-router 接管了其默认的链接跳转行为,区别于传统的页面跳转,<Link> 的“跳转”行为只会触发相匹配的 <Ro 阅读全文
posted @ 2022-06-09 16:32 下一秒钟已经不同 阅读(669) 评论(0) 推荐(0) 编辑
摘要:功能要求: add(1); // 1 add(1)(2); // 3 add(1)(2)(3); // 6 add(1)(2, 3); // 6 add(1, 2)(3); // 6 add(1, 2, 3); // 6 解答: 普通实现: function add(){ let args = [. 阅读全文
posted @ 2022-06-08 09:54 下一秒钟已经不同 阅读(248) 评论(0) 推荐(0) 编辑
摘要:变量生命周期:声明(作用域注册一个变量)、初始化(分配内存,初始化为undefined)、赋值 var:遇到有var的作用域,在任何语句执行前都已经完成了声明和初始化,也就是变量提升而且拿到undefined的原因由来 function: 声明、初始化、赋值一开始就全部完成,所以函数的变量提升优先级 阅读全文
posted @ 2022-06-07 10:21 下一秒钟已经不同 阅读(102) 评论(0) 推荐(0) 编辑
摘要:function zeroMove(array) { let len = array.length; let j = 0; for(let i=0;i<len-j;i++){ if(array[i] 0){ array.push(0); array.splice(i,1); i --; j ++; 阅读全文
posted @ 2022-06-06 09:07 下一秒钟已经不同 阅读(94) 评论(0) 推荐(0) 编辑
摘要:[...Array(10000).keys()].filter((x) => { return x.toString().length > 1 && x Number(x.toString().split('').reverse().join('')) }) 阅读全文
posted @ 2022-06-02 09:24 下一秒钟已经不同 阅读(31) 评论(0) 推荐(0) 编辑
摘要:一、Promise概念 Promise是JS异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javascript异步编程解决方案之一。Promise.all()接受一个由promise任务组成的数组,可以同时处理多个promise任务,当所有的任务都执行完成时,Promise.all()返回r 阅读全文
posted @ 2022-06-01 10:01 下一秒钟已经不同 阅读(1813) 评论(0) 推荐(0) 编辑

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