
Javascript
孤月葬花魂
我害怕鬼,但鬼未伤我分毫;我不害怕人,但是人把我伤得体无完肤。
展开
-
前端性能监控:从入门到实战,让你的网页飞起来!
前端性能监控不是一次性的任务,而是一个持续优化的过程。原创 2025-04-21 08:51:15 · 813 阅读 · 0 评论 -
前端数据爬虫之puppeteer
官网说需要使用Node v6.4.0(async/await需要在Node v7.6.0)及以上版本,但是实测Node v14.21.3 运行不起来,目前我用的是 Node v22.1.0。使用最新的 JavaScript 和浏览器- 功能直接在最新版本的Chrome中执行测试。Page会触发多种事件,可以用 node 原生的方法 来捕获处理,比如 on,once 或者 removeListener。提供操作一个 tab 页,一个 Browser 实例可以有多个 Page 实例。原创 2024-08-27 10:26:51 · 763 阅读 · 0 评论 -
Blob文件流下载文件
【代码】Blob文件流下载文件。原创 2023-08-11 17:10:11 · 515 阅读 · 0 评论 -
接口返回一张图片处理
【代码】接口返回一张图片处理。原创 2023-08-09 16:25:34 · 321 阅读 · 0 评论 -
浮层展示信息位置处理
/ 总容器宽度,去掉滚动条、border。// 可用宽度:因为有滚动条的存在。// 详情信息 10为间距。原创 2023-07-14 16:38:44 · 341 阅读 · 0 评论 -
Array.flat方法
Array.flat方法作用用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。语法/** * @params { Number } num 需要将数组拉平的层数,默认是1 */array.flat(num)实例[1, 2, 3, [4, 5]].flat(); // [1, 2, 3, 4, 5][1, 2, [3, [4, 5]]].flat(); // [1, 2, 3, [4, 5]][1, 2, [3, [4, 5]]].flat(2);原创 2021-11-29 16:13:35 · 431 阅读 · 0 评论 -
Array.sort方法
Array.sort方法作用对数组的元素进行排序排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序.使用数字排序,你必须通过一个函数作为参数来调用注意: 这种方法会改变原始数组!。语法array.sort(function ())实例默认排序let arr = ["Banana", "Orange", "Apple", "Mango"];arr.sort(); // [ Apple, Banana, Mango, Orange ]数字排序原创 2021-09-27 10:48:31 · 1516 阅读 · 0 评论 -
JS中数据类型的判断
JS中数据类型的判断typeoftypeof 对于基本数据类型(除了null外),都可以显示正确的数据类型typeof 对于引用数据类型(除了function外),都显示Objectconsole.log(typeof 1); // numberconsole.log(typeof 'str'); // stringconsole.log(typeof true); // booleanconsole.log(typeof undefined); // undefinedc原创 2021-08-17 10:13:45 · 109 阅读 · 0 评论 -
向数组指定位置添加内容
向数组指定位置添加内容/** * 向数组指定位置添加内容 * @param { Array } arr 原数组 * @param {*} data 要添加的内容 * @param { Number } index 需要添加的位置 * @returns */function addData(arr, data, index) { if (index === -1 || index > arr.length) { console.log('请输入正确的下标'); re原创 2021-08-09 16:24:10 · 674 阅读 · 0 评论 -
数组去重的常用算法
数组去重1. 利用ES6 set去重function fn(arr) { return Array.from(new Set(arr)) // 简写形式 return [...new Set(arr)]}let arr = [1, 2, 3, 4, 5, 5, 5, 4, 3, 2, 1];console.log(fn(arr)); // [1, 2, 3, 4, 5]2. 利⽤for嵌套for,然后splice去重(ES5中最常⽤)双层循环,外层循环元素,内层循环时⽐较值原创 2021-07-09 10:45:56 · 262 阅读 · 0 评论 -
将时间格式化为几天前/几月前
/** * 将时间格式化为几天前/几月前 * @param { Number } timestamp 时间戳 * @param { String } unit 时间戳单位 秒/毫秒 */function formatTime (timestamp, unit = '毫秒') { let createTime; if (unit === '毫秒') { createTime = new Date(timestamp) } else { createTime = new D原创 2021-07-06 09:27:57 · 166 阅读 · 0 评论 -
Array.reduce方法
作用计算数组元素相加后的总和语法/** * @params { Function } (必填), 用于执行每个数组元素的函数 * @params { * } total (必填), 函数的第一个参数, 初始值, 或者计算结束后的返回值 * @params { * } currentValue (必填), 函数的第一个参数, 当前元素 * @params { Number } currentIndex (非必填), 函数的第一个参数, 当前元素的索引 * @params { Array } a原创 2021-04-02 10:39:14 · 5846 阅读 · 0 评论 -
Javascript中深拷贝的几种实现方法
JS中深拷贝的几种实现方法1. 递归的方法function deepClone (obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {}; //进行深拷贝的不能为空,并且是对象或者是 if (obj && typeof obj === "object") { for (var key in obj) { // obj原创 2021-04-01 09:09:30 · 153 阅读 · 0 评论