随笔分类 -  Javascript

Javascript语言相关的一切
摘要:在 JavaScript 中,除了 window.btoa(unescape(encodeURIComponent(s))) 这种方式,还有多种以下几种常用的 Base64 编码方法,适用于不同场景: 1. 使用 TextEncoder 和 btoa(现代标准方法) 针对包含非 ASCII 字符(如 阅读全文
posted @ 2025-09-01 15:41 箫笛 阅读(68) 评论(0) 推荐(0)
摘要:1. 使用 async/await 配合 Promise(推荐) 封装一个等待条件满足的执行函数,通过异步等待机制实现 "暂停" 效果 /*** * conditionCheck: 条件检测函数 * interval: 检测间隔时间,默认100ms * timeout: 设置超时时间, 默认5s * 阅读全文
posted @ 2025-08-15 11:34 箫笛 阅读(33) 评论(0) 推荐(0)
摘要:安装 Decimal.js 是一个用于 JavaScript 的任意精度十进制算术库,可以解决 JavaScript 浮点数精度问题。 通过 npm 安装 npm install decimal.js 通过 CDN 引入 <script src="https://cdnjs.cloudflare.c 阅读全文
posted @ 2025-06-16 17:57 箫笛 阅读(1100) 评论(0) 推荐(0)
摘要:fetch 采用模块化设计,api分散在多个对象上(Response对象,Request对象,Header对象), fetch通过数据流(stream对象)处理数据可以分块读取,有利于提高网站性能。 发送GET请求 fetch 函数只传递一个url,默认以get方法发送请求。 promise fet 阅读全文
posted @ 2024-04-26 16:54 箫笛 阅读(297) 评论(0) 推荐(0)
摘要:通过XMLHttpRequest发送GET请求 // 创建XMLHttpRequest实例对象 const xhr = new XMLHttpRequest(); // 监听通信状态 xhr.onreadystatechange = function(){ // 请求结束,处理服务器返回的数据 if 阅读全文
posted @ 2024-04-25 17:46 箫笛 阅读(2302) 评论(0) 推荐(0)
摘要:Hello World 阅读全文
posted @ 2024-04-08 00:02 箫笛 阅读(27) 评论(0) 推荐(0)
摘要:在前端开发中,往往需要上传文件到服务器,为了保证数据安全可靠,前端往往需要计算文件的md5摘要传递到服务器端进行验证。 1. Spark-md5 安装 # npm 安装 npm install --save spark-md5 # yarn 安装 yarn add spark-md5 # pnpm 阅读全文
posted @ 2024-04-07 01:14 箫笛 阅读(1208) 评论(0) 推荐(0)
摘要:定型数组是一种用于处理数值类型数据的专用数组,最早是在webGL中使用的,WebGL是OpenGL ES2.0的移植版, 在web页面中通过\元素来呈现它。定型数组也被一同移植而来,其可为javascript提供快速的按位运算。 在javascript中,数字是以64位浮点格式储存的,并按需转换为3 阅读全文
posted @ 2023-08-15 11:43 箫笛 阅读(226) 评论(0) 推荐(0)
摘要:### 1. Array.of 创建数组 ``` const items = Array.of(1, 2, 3); console.log(items); ``` ### 2. Array.from 将可迭代对象或类数组对象转换为数组 ``` const items = Array.from('12 阅读全文
posted @ 2023-08-15 11:37 箫笛 阅读(29) 评论(0) 推荐(0)
摘要:### 1. typeof 操作符 只能判断基本类型,无法判断对象类型 ``` typeof 1 // 'number' typeof 'hello' // 'string' typeof true // 'boolean' typeof function(){} // 'function' typ 阅读全文
posted @ 2023-07-13 17:11 箫笛 阅读(30) 评论(0) 推荐(0)
摘要:ES6中新增的Set集合类型是一种有序列表,其中含有一些相互独立的非重复值,通过Set集合可以快速访问其中 的数据,更有效地追踪各种离散值。 1. 创建Set集合并添加元素 调用new Set()创建Set集合,调用add()方法向集合中添加元素,访问集合的size属性可以获取集合中目前的 元素数量 阅读全文
posted @ 2023-03-24 14:04 箫笛 阅读(173) 评论(0) 推荐(0)
摘要:Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 从浏览器创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 阅读全文
posted @ 2023-03-23 16:41 箫笛 阅读(302) 评论(0) 推荐(0)
摘要:箭头函数是一种使用用箭头(=>)定义函数的新语法,它不同于传统的javascript函数。 没有this, super, arguments 和 new.target绑定: 箭头函数中的this, super, arguments, 及new.target 这些值由外围最近一层非箭头函数决定。 不能 阅读全文
posted @ 2023-03-23 11:41 箫笛 阅读(196) 评论(0) 推荐(0)
摘要:Rxjs 就是利用javascript实现了响应式编程的概念,利用监听流的模式处理异步操作。 1. 函数响应式编程 函数式编程 声明式 纯函数 数据不可变性 响应式编程 通过可监听流实现异步编程 2. Observable 和 Observer Rxjs中的数据流就是Observable对象,它是被 阅读全文
posted @ 2023-03-08 15:53 箫笛 阅读(149) 评论(0) 推荐(0)
摘要:1. 迭代器(Iterator) 特殊对象,具有迭代过程的接口next()方法 每次调用next()方法,返回一个结果对象 结果对象有两个属性value(任何类型)和done(布尔类型) 当集合的值返回完时,再次调用next()方法,结果对象的done属性值为true,value为迭代器最终返回的值 阅读全文
posted @ 2023-02-17 17:44 箫笛 阅读(447) 评论(0) 推荐(0)
摘要:getCustomizedObject /** * @number: the count of object attribute * @prefix: the object attribute prefix string * @value: the value of each attribute, 阅读全文
posted @ 2023-02-17 10:54 箫笛 阅读(33) 评论(0) 推荐(0)
摘要:async/await其实是生成器的语法糖,async用于声明一个函数是异步的,而await用于等待一个异步方法执行完成,并且await只能出现在async函数中。 1. async 函数 async函数返回一个Promise对象,因此可以使用Promise对象的相关方法去进 一步处理async函数 阅读全文
posted @ 2023-02-16 20:32 箫笛 阅读(97) 评论(0) 推荐(0)
摘要:Promise是异步编程的一种解决方案,它是一个对象,可以获取异步操作的消息,它解决了异步编程回调函数的地狱回调问题。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。Promise提供了 统一的API,可以方便的处理各种异步问题。 1. Pro 阅读全文
posted @ 2023-02-16 17:40 箫笛 阅读(48) 评论(0) 推荐(0)
摘要:Web workders的规范让javascript在后台运行脱离了UI线程,从而解决了大量计算阻塞UI线程导致卡死的问题。 在Web workers没有出现之前,我们可以使用window.setTimeout 异步方式将计算包裹其中,来解决这种问题。 1. 使用 Web Workers Web W 阅读全文
posted @ 2023-02-14 17:39 箫笛 阅读(124) 评论(0) 推荐(0)
摘要:1. match str.match(reg) 参数: 一个正则表达式对象,如果reg不是正则表达式对象,则会利用new RegExp(reg) 隐式转换。 返回值: 1. 正则表达式中如果有g标志,则将返回与完整正则表达式匹配的所有结果,但不会返回捕获组。 2. 正则表达式中如果没有使用g标志,则 阅读全文
posted @ 2022-11-29 17:03 箫笛 阅读(57) 评论(0) 推荐(0)