随笔分类 -  js

摘要:零、资料 LRU和LFU 缓存淘汰算法(javascript与go语言实现) 一、基本概念 LRU(Least Recently Used)和LFU(Least Frequently Used)是两种常见的缓存淘汰算法, 用于在缓存空间有限的情况下选择合适的缓存对象进行淘汰,以提高缓存的利用效率 L 阅读全文
posted @ 2024-05-29 14:40 shiweiqianju 阅读(918) 评论(0) 推荐(0) 编辑
摘要:零、资料 JavaScript 中的位运算和权限设计 javascript位运算技巧 巧用JS位运算 JavaScript位运算及其妙用 聊聊JavaScript中的二进制数 一、权限 在权限设计时,每一个基础权限单元都是二进制数形式,有且只有一位值是 1,其余全部是 0,即权限码是 2^n 。 所 阅读全文
posted @ 2024-05-23 16:18 shiweiqianju 阅读(30) 评论(0) 推荐(0) 编辑
摘要:零、参考资料 手把手一行一行代码教你“手写Promise“,完美通过 Promises/A+ 官方872个测试用例 手写实现 Promise 全部实例方法和静态方法,来看看 Promise.all、Promise.race 和 Promise.any 都是怎么实现的 JS/ES6 Promise 的 阅读全文
posted @ 2024-05-21 14:55 shiweiqianju 阅读(24) 评论(0) 推荐(0) 编辑
摘要:一、柯里化 - currying 柯里化的意思是将一个多元函数,转换成一个依次调用的单元函数,用表达式表示: f(a,b,c) → f(a)(b)(c) 核心代码实现: export function curry(fn) { let len = fn.length; // 收集目标函数的参数个数(总 阅读全文
posted @ 2024-04-15 17:26 shiweiqianju 阅读(54) 评论(0) 推荐(0) 编辑
摘要:零、参考资料 深入分析JavaScript模块循环引用 Module 的加载实现 从模块的循环加载看ESM与CJS 理解 amd, cmd, commonjs, esm, umd 模块化 一、早期的实践 - CommonJS 族 Node.js 提供了服务器端的 js 运行环境,因此也带来了一波服务 阅读全文
posted @ 2024-04-01 17:55 shiweiqianju 阅读(543) 评论(0) 推荐(0) 编辑
摘要:零、参考资料 1. SolidJS 是如何实现响应式的? 一、双剑之 createSignal 用法: // js const [value, setValue] = createSignal(1); // html-template <div>值:{ value() }</div> 从语法格式上来 阅读全文
posted @ 2024-03-21 15:21 shiweiqianju 阅读(263) 评论(0) 推荐(0) 编辑
摘要:零、参考资料 https://www.zhihu.com/question/27996269 https://blog.csdn.net/weixin_43865875/article/details/117732871 https://www.cnblogs.com/chunlanse2014/a 阅读全文
posted @ 2024-03-05 14:49 shiweiqianju 阅读(23) 评论(0) 推荐(0) 编辑
摘要:零、参考资料 《图解 + 实战》File、Blob、TypedArray、DataView JavaScript也有操作二进制的一天:聊ArrayBuffer和Blob 聊聊JS的二进制家族:Blob、ArrayBuffer和Buffer 一、定义 宏观:Blob - 表示一个不可变、原始数据的类文 阅读全文
posted @ 2024-02-21 16:21 shiweiqianju 阅读(507) 评论(0) 推荐(0) 编辑
摘要:参考文章 1. 从react hooks“闭包陷阱”切入,浅谈react hooks 2. 一文讲透 React Hooks 闭包陷阱 Hooks Hooks 是 react 自 16.8 引入的新特性,使得开发者在摆脱 class 定义组件的同时,也能够进行状态管理。这样,react 组件完全进入 阅读全文
posted @ 2023-08-08 10:45 shiweiqianju 阅读(367) 评论(0) 推荐(0) 编辑
摘要:参考文章 尾调用优化 - 阮一峰; 基本概念 一、尾调用 一个函数的最后一步是调用另一个函数,并返回。注意点是,返回的是一个函数的调用(执行)。 // 最简形式 function f(x){ return g(x); } // 变种 function f(x) { if (x > 0) return 阅读全文
posted @ 2022-12-02 16:16 shiweiqianju 阅读(221) 评论(0) 推荐(0) 编辑
摘要:一、业务场景 众所周知,在客户端中,表单是一个相当重要的内容。随着技术的发展,在提交表单数据的时候,某些表单验证环节会放在前端进行。因此,我们无可避免的要写一堆 if 来处理,同时大多数的时候,如果需要提醒某些错误信息时,需要加入 else 以及 else if 来控制,当然也可以使用 retrun 阅读全文
posted @ 2020-10-09 13:21 shiweiqianju 阅读(552) 评论(0) 推荐(0) 编辑
摘要:零、资料 1. 详解JS函数柯里化 ; 2. 函数式编的JS: curry ; 一、基础概念 维基百科上说道:柯里化,英语:Currying(果然是满满的英译中的既视感),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 阅读全文
posted @ 2020-06-03 14:55 shiweiqianju 阅读(928) 评论(0) 推荐(0) 编辑
摘要:零、序言 本篇是《你不知道的 javascript(上)》读书笔记。 v1 版本写得比较乱,传送门; 注意:如无特殊标注,本篇中的 this 指的是 es5 & 非严格模式下的 this。 一、总集 在 js 中, this 的值需要到函数的调用时才能明确,因此完全取决于函数的调用位置(执行 fn( 阅读全文
posted @ 2020-05-28 14:04 shiweiqianju 阅读(253) 评论(0) 推荐(0) 编辑
摘要:零、引言 本篇是关于 window.location (history/hash) 的尝试,算是为了学习各种 router 的基础吧。 参考资料: 1. url 中的 hash; 一、基础准备 基础的 index.html 页面。 <!DOCTYPE html> <html lang="en"> < 阅读全文
posted @ 2020-05-26 16:13 shiweiqianju 阅读(611) 评论(0) 推荐(0) 编辑
摘要:零、原链和资料 1.js设计模式 注: 代码均为简洁版,如需了解其他版本写法的优缺点,请移步原文章。 一、单体模式 其思想是在一定的作用域范围内保证一个特定类仅有一个实例,意味着当你第二次使用同一个类创建新对象时,应得到和第一次创建对象完全相同。 var Universe; (function(){ 阅读全文
posted @ 2020-04-15 15:26 shiweiqianju 阅读(299) 评论(0) 推荐(0) 编辑
摘要:零、原文与资料 1. 手写 Promise; 2. 最简实现Promise,支持异步链式调用(20行) 一、Promise/A+ 规范 1.Promise存在三个状态:pending(等待态)、fulfilled(成功态)、rejected(失败态);2.pending为初始态,并可以转化为fulf 阅读全文
posted @ 2020-04-13 17:09 shiweiqianju 阅读(356) 评论(0) 推荐(0) 编辑
摘要:零、序言 参考资料:JavaScript常用八种继承方案; 注:1.此篇笔记是站在上述资料的肩膀上的一篇小结; 2.阅读之前建议温习一下 js 中的 prototype 和 constructor;(js - __proto__ 、 prototype和constructor) 一、原型链上的继承( 阅读全文
posted @ 2019-09-25 16:30 shiweiqianju 阅读(308) 评论(0) 推荐(0) 编辑
摘要:零.资料与前言 0x1 材料: 1.帮你彻底搞懂JS中的prototype、__proto__与constructor(图解) 0x2 前言 之前也尝试总结过 js 中的 __proto__ 、 prototype 以及原型链相关的资料(JS 中的原型 -- prototype、__proto__ 阅读全文
posted @ 2019-08-27 10:48 shiweiqianju 阅读(237) 评论(0) 推荐(0) 编辑
摘要:零.序言 转载&参考: 1.JavaScript 设计模式系列 - 观察者模式 2.JavaScript 设计模式(六):观察者模式与发布订阅模式 一、观察者模式(observer) 概要: 观察者模式:定义了对象间一种一对多的依赖关系,当目标对象 Subject 的状态发生改变时,所有依赖它的对象 阅读全文
posted @ 2019-08-15 11:25 shiweiqianju 阅读(8945) 评论(3) 推荐(0) 编辑
摘要:参考: JavaScript专题之深浅拷贝。 浅拷贝: 浅拷贝就是拷贝指向对象的指针,因此,如果其中一个对象改变了这个地址,就会影响到另一个对象。 在 js 中,如果与深拷贝一起提及的话,就意味着只在首层上进行一次完全(资源)复制,如果首层内部存在引用类型的对象,则这个对象仅仅是 copy 了内存地 阅读全文
posted @ 2019-07-25 09:55 shiweiqianju 阅读(274) 评论(0) 推荐(0) 编辑

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