js 中树的搜索

在处理树形结构时,选择合适的查找方法(递归、迭代、广度优先搜索、使用第三方库)取决于具体的应用场景、树的规模、性能需求以及代码维护性。递归搜索优点代码简洁直观:递归方法通常代码量少,逻辑清晰,易于理解和实现。易于维护:由于代码结构简单,后期维护和修改也较为方便。缺点栈溢出风险:对于非常深的树(例如深度超过数千层),递归调用可能导致调用栈溢出(Stack Overflow)。性能开销:递归调用涉及函...阅读全文
43次浏览 0 条评论 0次感谢

crypto.createCipheriv is not a function

就是一个aes 加密,大概是这样的const crypto = require('crypto');const secretKey = '.'function encryptCredentials(username, password, total) { const combined = username + ':' + password + ':' + total; const cipher...阅读全文
144次浏览 0 条评论 0次感谢

json 生成 excel 文件和下载

前端生成使用 依赖 xlsximport * as XLSX from 'xlsx';const jsonData = [ {"Name": "Alice", "Age": 30, "City": "New York"}, {"Name": "Bob", "Age": 25, "City": "Los Angeles"}, {"Name": "Charlie", "Age": 3...阅读全文
115次浏览 0 条评论 0次感谢

JS 批量生成二维码打包zip下载

拿到一些链接, 要把链接生成二维码图片, 然后压缩生成的二维码为zip包, 最后下载准备工作安装依赖npm install qrcode jszip生成二维码const QRCode = require('qrcode');//传入 url 和要生成的文件名async generateQRCode(url, filename) { try { const qrCode = await QR...阅读全文
114次浏览 0 条评论 0次感谢

DIV监听 size 变化

resize 事件通常用于监听窗口大小的变化,而不是 div 元素的大小变化。不过,你可以使用 ResizeObserver API 来监听 div 元素的大小变化。下面是一个简单的示例:!DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" meta name="viewport" content="width=device-width, i...阅读全文
211次浏览 0 条评论 0次感谢

百度翻译API接入

注册开发者平台注册之后顺利拿到APP ID和密钥开通服务开通服务之后才能使用对应的api, 这步必不可少。接入import axios from 'axios';import CryptoJS from 'crypto-js'let text = '要翻译的文字'let appid = '123456789' //开发者APP IDlet salt = Date.now().toString()...阅读全文
501次浏览 0 条评论 3次感谢

基于区块链柚子(EOS)钱包前端插件 scatter开发

基于区块链柚子(EOS)钱包前端插件 scatter安装和使用npm i scatterjs-core scatterjs-plugin-eosjs eosjs -D//main.jsimport ScatterJS from "scatterjs-core";import ScatterEOS from "scatterjs-plugin-eosjs";import Eos from "eosj...阅读全文
2029次浏览 3 条评论 4次感谢

js 时间戳运算

取时间戳的几种方式//第一种var timestamp = Date.now();//第二种var timestamp = new Date().getTime();//第三种var timestamp = new Date().valueOf();//第四种,通过运算var timestamp = new Date() * 1; //new Date()-0 ,new Date()/1//第五种...阅读全文
1485次浏览 1 条评论 2次感谢

跨域的常见问题和解决方案

第一种No 'Access-Control-Allow-Origin' header is present on the requested resourceThe response had HTTP status code 404出现这种情况的原因如下:本次 ajax 请求是“非简单请求”,所以请求前会发送一次预检请求(OPTIONS)服务器端后台接口没有允许 OPTIONS 请求,导致无法找到...阅读全文
1479次浏览 0 条评论 1次感谢

web渐进式应用PWA

什么是渐进式 Web 应用渐进式 Web 应用首先是一种应用,它根据设备的支持情况来提供更多功能,提供离线能力,推送通知,甚至原生应用的外观和速度,以及对资源进行本地缓存。渐进式 Web 应用是一个网站,它使用了某些开发技术,使其体验比普通针对移动优化的网站体验更好。它使用起来就像是在使用一个原生应用一样渐进式 Web 应用可能是一个不清晰的术语,而更好的定义是:它们是一种 Web 应用,利用现代...阅读全文
2211次浏览 3 条评论 1次感谢

javascript Reflect

语义Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法。这些方法与处理器对象的方法相同。Reflect 不是一个函数对象,因此它是不可构造的。描述与大多数全局对象不同,Reflect没有构造函数。你不能将其与一个 new 运算符一起使用,或者将 Reflect 对象作为一个函数来调用。Reflect 的所有属性和方法都是静态的(就像 Math 对象)。兼容性Chrome...阅读全文
1683次浏览 1 条评论 1次感谢

javascript reduce

含义reduce() 方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。语法arr.reduce(callback[, initialValue])参数callback执行数组中每个值的函数,包含四个参数:accumulator累加器累加回调的返回值; 它是上一次调用回调时返回的累积值,或 initialValue(如下所示)。currentValue数组中正在处理的元素。...阅读全文
1612次浏览 0 条评论 0次感谢

Comet,SSE,WebSocket前后端的实现

Comet(服务器推送)的两种方式短轮询页面定时向服务器发送请求, 步骤为:建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接//前端js var xhr = new XMLHttpRequest(); setInterval(()={ xhr.onreadystatechange = function () { if (xhr.readyState == ...阅读全文
1237次浏览 0 条评论 0次感谢

javascript-继承之jquery

jquery 截止到当前已经 3.3.1 版本了,如今随着各种浏览器的盛行,前端的框架层出不穷,jquery 独步天下,老夫写代码只用 jquery,拿起代码就是干的辉煌时代已经过去了。2006 年,jQuery 的第一个版本的面世,凭借着简洁、灵活的编程风格受到了开发者的喜爱。而它本身是一个 JavaScript 框架,它的设计的宗旨是“write Less,Do More”,即倡导写更少的代码...阅读全文
1627次浏览 1 条评论 3次感谢

javascript 队列

队列定义队列(Queue)是一种遵从先进先出(First in, first out。简称 FIFO)原则的有序集合。它和栈的不同点是栈是先进后出的,队列是先进先出的,栈都是在一端进与出,而队列是在一端进在另一端出。栈的删除操作在表尾进行,队列的删除操作在表头进行。顺序栈能够实现多栈空间共享,而顺序队列不能。共同点是只允许在端点处插入和删除元素。多链栈和多链队列的管理模式可以相同。栈(stack)...阅读全文
2330次浏览 0 条评论 1次感谢