![](https://img-blog.csdnimg.cn/20210924011541557.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript&TypeScript
记录JavaScript学习心得
你挚爱的强哥
我以为,世上的程序语言确实没有高低之分,只有编程的人才有强弱之别,通过写代码我们可以发现和认识一个真正的自己,因为我们真正的对手,可能就是我们自己。
展开
-
JavaScript 模拟光标全选选中一段文字
函数,它接受一个DOM节点作为参数,然后选择这个节点的全部内容。在现代浏览器中,它使用。在JavaScript中,如果你想要通过编程方式选择一段文本,你可以使用。使用时,只需传入你想要选中的元素即可。在旧版IE浏览器中,它使用。原创 2024-07-10 10:39:28 · 234 阅读 · 0 评论 -
【递归模板】常用递归JavaScript写法模板
【代码】【递归模板】常用递归JavaScript写法模板。原创 2024-07-03 14:10:09 · 233 阅读 · 0 评论 -
开发者配置项、开发者选项自定义
【代码】开发者配置项、开发者选项自定义。原创 2024-06-19 16:21:40 · 241 阅读 · 0 评论 -
js 判断获取数组维度的最高层级
要获取JavaScript数组的最高维度级别,可以使用递归函数来遍历数组并检查每个元素是否为数组。如果是,则递增维度级别,并继续遍历。作为参数,并返回它的最高维度级别。是一个二维数组,因此函数返回。原创 2024-06-19 13:28:04 · 119 阅读 · 0 评论 -
js 判断数组是否为多维数组
在JavaScript中,判断一个数组是否为多维数组,即数组中的元素也是数组,可以通过递归的方式来实现。方法来确定至少有一个元素是数组。如果发现有元素也是数组,或者是多维数组,则递归检查,直到确定是否为多维数组。来检查每个元素是否为数组,并使用。原创 2024-06-19 13:27:03 · 142 阅读 · 0 评论 -
js 单数组→重组多维数组每3条分割为一组(几条为一组可自定义),js循环一个数组间隔3次合并为一组,按照相同元素数量分割数组
【代码】js 单数组→重组多维数组每3条分割为一组(几条为一组可自定义),js循环一个数组间隔3次合并为一组,按照相同元素数量分割数组。原创 2024-06-19 11:13:27 · 223 阅读 · 0 评论 -
模拟自动滚动并展开所有评论列表以及回复内容(如:抖音、b站等平台)
由于各大视频平台的回复内容排序不都是按照时间顺序,而且想看最新的评论回复讨论内容还需逐个点击展开,真的很蛋疼,尤其是热评很多的情况,还需要多次点击展开,太麻烦!打开抖音或其平台的PC端执行以上脚本即可,注意不同平台估计部分classname需要自己去调整下。原创 2024-06-16 18:23:38 · 325 阅读 · 0 评论 -
js 用正则表达式 匹配自定义字符之间的字符串数据,如:( )、[ ]、{ }、< >、【】等括号之间的字符串数据
在JavaScript中,你可以使用正则表达式来匹配括号()之间的数据。以下是一个简单的例子,它展示了如何使用正则表达式来获取两对括号之间的文本。原创 2024-06-16 17:29:22 · 355 阅读 · 0 评论 -
js 移除字符串中所有的a标签;js 移除字符串中所有的a标签,但是保留a标签包裹的部分
要移除字符串中所有的标签,可以使用正则表达式和方法。原创 2024-06-16 10:58:41 · 420 阅读 · 0 评论 -
实现地图上展示坐标时,不要全部展示、只展示几个距离相对较大marker点位,随着地图放大再全部展示出来。
当地图缩放级别zoom===12的时候,距离40像素的marker不会重叠,实际经纬度距离大约是1520米。当地图缩放级别zoom===11的时候,距离40像素的marker不会重叠,实际经纬度距离大约是3040米。当地图缩放级别zoom===10的时候,距离40像素的marker不会重叠,实际经纬度距离大约是6120米。当地图缩放级别zoom===13的时候,距离40像素的marker不会重叠,实际经纬度距离大约是760米。当地图缩放级别zoom===14的时候,1像素大约是10米。原创 2024-05-26 10:59:26 · 384 阅读 · 0 评论 -
用ResizeObserver对象监听div的尺寸(宽度高度)发生变化
但有第三方的polyfill方案,可以支持到 FF44+,IE9+,Edge 10+ ,Safari 11+ ,兼容方案是通过 MutationObserver API 实现的,通过监听 dom 的变化并加以判断,至此主流浏览器均可运行。响应式设计指的是根据屏幕视口尺寸的不同,对 Web 页面的布局、外观进行调整,以便更加有效地进行信息的展示。响应式设计如今也成为 web 应用的基本需求,而现在很多 web 应用都已经组件化,这意味着我们如果想要实现响应式的应用,那么我们也需要有某种方式监听。原创 2024-05-21 18:00:33 · 411 阅读 · 0 评论 -
MessageBox 弹框 全局方法$msgbox, $alert, $confirm 和 $prompt常用代码片段
【代码】MessageBox 弹框 全局方法$msgbox, $alert, $confirm 和 $prompt常用代码片段。原创 2024-03-25 22:04:06 · 446 阅读 · 0 评论 -
模仿YouTube订阅铃铛动画效果:如何用SCSS制作小铃铛振动/震动/摇晃/晃动的特效/效果?
【代码】如何用SCSS制作小铃铛振动/震动/摇晃/晃动的特效/效果?原创 2024-03-21 12:54:13 · 449 阅读 · 0 评论 -
用dragstart、drag、dragend、dragover、drop、dragleave实现针对表格列的顺序进行拖拽排序(附带实现选择某几列数据显示或隐藏)
将数组指定索引位置的元素 移动到 目标索引位置,且不改变其他元素原本的顺序,注意这个不是对调元素位置,是移动某一个元素位置不影响其他元素顺(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)-CSDN博客。【代码】将数组指定索引位置的元素 移动到 目标索引位置(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)原创 2024-03-17 21:10:14 · 523 阅读 · 0 评论 -
将数组指定索引位置的元素 移动到 目标索引位置,且不改变其他元素原本的顺序,注意这个不是对调元素位置,是移动某一个元素位置不影响其他元素顺(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)
将数组指定索引位置的元素 移动到 目标索引位置,且不改变其他元素原本的顺序,注意这个不是对调元素位置,是移动某一个元素位置不影响其他元素顺(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)-CSDN博客。【代码】将数组指定索引位置的元素 移动到 目标索引位置(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)用dragstart、drag、dragend、dragover、drop、dragleave实现针对表格列的顺序进行拖拽排序(附带实现选择某几列数据显示或隐藏)-CSDN博客。原创 2024-03-17 19:41:45 · 406 阅读 · 0 评论 -
简单讲述ondragstart、drag、ondragend、ondragenter、ondragover、ondrop、ondragleave七个与拖拽相关的监听事件,并运用实现拖拽过程放置样式变化
将数组指定索引位置的元素 移动到 目标索引位置,且不改变其他元素原本的顺序,注意这个不是对调元素位置,是移动某一个元素位置不影响其他元素顺(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)-CSDN博客。【代码】将数组指定索引位置的元素 移动到 目标索引位置(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)用dragstart、drag、dragend、dragover、drop、dragleave实现针对表格列的顺序进行拖拽排序(附带实现选择某几列数据显示或隐藏)-CSDN博客。原创 2024-03-17 17:01:20 · 472 阅读 · 0 评论 -
一个简单的Vue2例子讲明白拖拽drag、移入dragover、放下drop的触发机制先后顺序
【代码】一个简单的Vue2例子讲明白拖拽drag、移入dragover、放下drop的触发机制先后顺序。原创 2024-03-17 15:38:28 · 726 阅读 · 0 评论 -
【全网最简短代码】筛选出新数组中和旧数组的重复项,并和旧数组合并(往数组追加新的数据对象且去重,合并两个数组不重复数据)
【代码】【全网最简短代码】筛选出新数组中和旧数组的重复项,并和旧数组合并(往数组追加新的数据对象且去重,合并两个数组不重复数据)原创 2024-03-05 20:57:43 · 395 阅读 · 0 评论 -
将有逻辑关系的树形结构数组转换为扁平化的一维对象数组(包含PID、ID父子关系)(tree转换为List)
文章浏览阅读99次。【代码】最简练的代码将扁平化的数组(具有id、pId或id、parentId或ID、PID)转换为结构化的数组,将扁平化的一位对象数组通过PID或parentId转换为有逻辑关系的树形结构数组。_id 和parentid 如何转换数据。最简练的代码将扁平化一维对象数组(具有id、pId或id、parentId或ID、PID)转换为结构化的数组,通过PID或parentId转换为有逻辑关系的树形结构数组(List转换为tree)_id 和parentid 如何转换数据-CSDN博客。原创 2024-02-02 22:08:05 · 496 阅读 · 0 评论 -
国际化翻译navigator.language || navigator.userLanguage与语种对照表
"en-AU"(澳大利亚), "en-GB"(英国),"sv", "sv-FI"瑞典语(芬兰),"es-DO",(多米尼加共和国)"ro-MO"(摩尔多瓦共和国),"en-BZ", (伯利兹)"de-LI",(列支敦士登)"fr-CA", (加拿大)"es-CR",(哥斯达黎加)"es-VE",(委内瑞拉)"es-NI",(尼加拉瓜)"es-PR",(波多黎各)"en-CA"(加拿大),"en-IE", (爱尔兰)"en-JM",(牙买加)"de-AT", (奥地利)"de-LU", (卢森堡)原创 2024-01-23 10:44:16 · 1222 阅读 · 0 评论 -
最短代码实现随机打乱数组各个元素的顺序
【代码】最短代码实现随机打乱数组各个元素的顺序。原创 2024-01-22 21:06:51 · 449 阅读 · 0 评论 -
大文件分片上传,断点续传,秒传 示例(待更新...)
【代码】大文件分片上传,断点续传,秒传 示例(待更新...)原创 2024-01-11 19:43:35 · 515 阅读 · 0 评论 -
upload分片上传知识点
接口的对象可以直接在for...of结构中使用,而不需要调用entries() : for (var p of myFormData) 的作用和 for (var p of myFormData.entries()) 是相同的。FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式,并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去,本接口和此方法都相当简单直接。元素的 files 属性,你可以通过这个对象访问到用户所选择的文件。原创 2024-01-11 19:39:50 · 797 阅读 · 0 评论 -
推荐两种原生JavaScript移除className的实用方式
方式1:document.querySelector(`.className`).classList.remove(`className`);//移除class类样式方式2:document.querySelector(`.className`).className.replace(`className`,``);原创 2024-01-04 21:02:47 · 591 阅读 · 0 评论 -
PDF.js实现搜索多个不同的关键词高亮显示效果
文章浏览阅读1.4k次。使用PDF.js预览文件老是报错Message: file origin does not match viewer‘s_otherError @ app.js:1140怎么办?_pdf.js 报错_你挚爱的强哥的博客-CSDN博客。Vue实现预览PDF并且支持打印,不会出现乱码、拉升变形、打印预览被切割等弱智问题_你挚爱的强哥的博客-CSDN博客。大约是在1202行,不同的pdf.js版本不同。PDF.js实现搜索关键词高亮显示效果_pdf.js实现关键词高亮-CSDN博客。原创 2024-01-04 20:32:20 · 1115 阅读 · 0 评论 -
将毫秒数量转换为时分秒字符串(毫秒数→转换为→00:00:00.000或00天00时00分00秒000毫秒形式)
【代码】将毫秒数量转换为时分秒字符串(毫秒数→转换为→00:00:00.000形式)原创 2023-12-19 16:29:09 · 483 阅读 · 0 评论 -
将对象object转换为FormData格式
【代码】将对象object转换为FormData格式。原创 2023-11-08 14:49:43 · 432 阅读 · 0 评论 -
全自动设置所有文章为【粉丝可见】
【代码】全自动设置所有文章为【粉丝可见】原创 2023-11-03 11:23:59 · 157 阅读 · 0 评论 -
全自动设置所有文章为【VIP可读】
【代码】全自动设置所有文章为【VIP可读】原创 2023-11-02 09:11:11 · 220 阅读 · 0 评论 -
不用addEventListener(‘resize‘, this.resize),用新的Web API ResizeObserver监听DIV元素尺寸的变化
但有第三方的polyfill方案,可以支持到 FF44+,IE9+,Edge 10+ ,Safari 11+ ,兼容方案是通过 MutationObserver API 实现的,通过监听 dom 的变化并加以判断,至此主流浏览器均可运行。响应式设计指的是根据屏幕视口尺寸的不同,对 Web 页面的布局、外观进行调整,以便更加有效地进行信息的展示。响应式设计如今也成为 web 应用的基本需求,而现在很多 web 应用都已经组件化,这意味着我们如果想要实现响应式的应用,那么我们也需要有某种方式监听。原创 2023-09-22 10:44:51 · 293 阅读 · 0 评论 -
【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发
一分钟上手Vue VueI18n Internationalization(i18n)多国语言系统开发、国际化、中英文语言切换!_你挚爱的强哥的博客-CSDN博客。这里以Vue2为例子。最原始的多国语言方法。原创 2023-09-16 16:13:10 · 630 阅读 · 0 评论 -
更安全高效的UUID生成方式,重复率极低
支持现代浏览器、带有 Babel 的IE 、Node.js 和 React Native。一个小型、安全、URL 友好、唯一的 JavaScript 字符串 ID 生成器。一行原生JS代码生成随机UUID_你挚爱的强哥的博客-CSDN博客。“毫无意义的完美主义达到了惊人的程度,这是不可能不尊重的。【代码】一行原生JS代码生成随机UUID。更简单的生成方式,无需引入任何包。原创 2023-09-01 12:58:45 · 262 阅读 · 0 评论 -
【sgOvalMenu】自定义组件:椭圆形菜单,菜单按钮可以随着椭圆轨迹进行循环运动
【代码】【sgOvalMenu】自定义组件:椭圆形菜单,菜单按钮可以随着椭圆轨迹进行循环运动。原创 2023-08-27 00:05:21 · 256 阅读 · 0 评论 -
百度地图:设置复杂的自定义覆盖物,addOverlay添加自定义覆盖物ComplexCustomOverlay
地图JS API示例中心,以示例的形式介绍百度地图JS API如何使用,为开发者提供丰富的应用参考。地图JS API示例 | 百度地图开放平台。原创 2023-08-24 13:42:44 · 1340 阅读 · 0 评论 -
Vue自定义组件实现类似elementUI的append-to-body功能,将创建的元素插入、挂载到body上面(网页最外层),适用于父元素overflow: hidden、绝对定位fixed的场景
【代码】Vue自定义组件实现类似elementUI的append-to-body功能,将创建的元素插入、挂载到body上面(网页最外层),适用于父元素overflow: hidden、绝对定位fixed的场景。原创 2023-08-20 20:45:40 · 3533 阅读 · 4 评论 -
【win7Window】自定义组件:高仿Windows7系统窗体。
核心原理就是在四条边、四个顶点加上透明的div,给不同方向提供按下移动鼠标监听 ,对应计算宽度高度、坐标变化。【sgDragMove】自定义拖拽组件,仅支持拖拽、设置吸附屏幕边界距离_你挚爱的强哥的博客-CSDN博客。【sgDragSize】自定义拖拽修改DIV尺寸组件,适用于窗体大小调整_你挚爱的强哥的博客-CSDN博客。【sgDragMove】自定义拖拽组件,仅支持拖拽、设置吸附屏幕边界距离。原创 2023-08-18 13:15:33 · 171 阅读 · 0 评论 -
【sgDragSize】自定义组件:自定义拖拽修改DIV尺寸组件,适用于窗体大小调整
核心原理就是在四条边、四个顶点加上透明的div,给不同方向提供按下移动鼠标监听 ,对应计算宽度高度、坐标变化。原创 2023-08-17 19:03:23 · 404 阅读 · 0 评论 -
在不显示出文本的情况下,提前获取文本需要占用的显示高度,多用于预设某个区域占位显示内容(如:瀑布流)
【sgWaterfall】自定义组件:Vue实现图文瀑布流布局模式,图片预加载显示占位区域阴影,加载完成后向上浮动动画出现,支持不同浏览器尺寸宽度下自适应显示列数,文本内容高度自适应。_瀑布流图文_你挚爱的强哥的博客-CSDN博客。Vue实现图文瀑布流布局模式,图片预加载显示占位区域阴影,加载完成后向上浮动动画出现。原创 2023-08-15 16:03:10 · 119 阅读 · 0 评论 -
玩转IndexedDB,比localStorage、cookie还要强大的网页端本地缓存
随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。现有的浏览器数据储存方案,都不适合储存大量数据:Cookie 的大小不超过 4KB,且每次请求都会发送回服务器;LocalStorage 在 2.5MB 到 10MB 之间(各家浏览器不同),而且不提供搜索功能,不能建立自定义的索引。所以,需要一种新的解决方案,这就是 IndexedDB 诞生的背景。原创 2023-08-14 20:19:37 · 261 阅读 · 0 评论 -
hhc.exe本地制作、手动生成chm电子书
将以上四个文件放在一个文件夹下,当前文件夹cmd命令运行。即可生成test.chm文件。hhc.exe可执行文件。原创 2023-08-09 21:06:58 · 464 阅读 · 0 评论