JavaScript 【基础】
js基础
言小溪
一碰编程就上瘾
展开
-
node js 快速构建部署 Wiki 风格的文档网站
本文将介绍如何通过内置插件快速构建 WIKI 文档,并自带侧边栏,顶部栏,丰富样式等功能初始化后修改配置文件如果不想使用内置插件,可以从官方代码仓库中下载指定的插件使用,或者直接复制粘贴到本地项目中。原创 2024-07-14 00:06:52 · 393 阅读 · 0 评论 -
js 创建弹出窗口
【代码】js 创建弹出窗口。原创 2023-03-13 16:03:01 · 775 阅读 · 0 评论 -
monorepo 下的 package tsc 构建
具体 tasks.json 的详情请看官网 : https://code.visualstudio.com/docs/editor/tasks。很多个package都需要构建到每个项目的 lib 下,可以用 vscode 的 tasks.json 任务去实现。最后重启 vscode 后,全部任务会直接运行,并且监听构建每个子目录 ts 文件。直接新建一个 .vscode 文件夹,并且新建 tasks.json 文件。原创 2022-11-26 19:06:14 · 707 阅读 · 1 评论 -
js将数字转换成文件大小
【代码】js将数字转换成文件大小。原创 2022-10-08 12:19:31 · 431 阅读 · 0 评论 -
highlight.js 渲染行号
function render(){ let html = hljs.highlight('xxxx', { language: "xxx" }).value; return Array.from(html.match(/(.*?)\n/g) || []) .map( (s, i) => `<div><line>${i}</line>${s}</div>` )原创 2022-03-07 16:59:43 · 1128 阅读 · 0 评论 -
markdown-it 介绍,以及使用,自定义规则
markdown-itmarkdown-it 是前端的一个 markdown 解析库, 将 markdown 解析成 Token 流网上都有很多详细的 token 流解析过程,请先简单看一遍markdown-it解析 - 简书 https://www.jianshu.com/p/39ed59f610d4看完的小伙伴应该一头雾水,下面我们来实践一下添加规则首先,如果你需要解析流呢,就要往他的规则里面添加新的规则 // 添加规则 md.core.ruler.push('规则名',原创 2021-09-16 13:59:00 · 5524 阅读 · 1 评论 -
es6 中的所有 import 引入写法
这里记录一下用到过的所有写法一共 7 种资源导入import 'a'默认导入import a from 'b'别名导出,部分导出,以及默认导出import * as a from 'b'部分导出import {c} from 'b'别名导出,部分导出import {c,d as _d} from 'b'别名导出,部分导出,以及默认导出import a , { c , d as _d } from 'b'类型导入import type原创 2021-09-10 20:31:49 · 2112 阅读 · 0 评论 -
js 正则表达式 判断变量名是否符合规则
只能以 : 双字节 小写字母 大写字母 _ $ 为开头以 : 双字节 小写字母 大写字母 _ $ 数字 为其他字符/^([^\x00-\xff]|[a-zA-Z_$])([^\x00-\xff]|[a-zA-Z0-9_$])*$/原创 2021-08-28 14:47:35 · 2026 阅读 · 0 评论 -
js 递归创建文件夹
代码如下 public static mkdirs(url): void { if (!fs.existsSync(url)) { WriteFileScript.mkdirs(path.resolve(url, "../")) fs.mkdirSync(url) } }原创 2021-07-31 21:14:48 · 1174 阅读 · 0 评论 -
js 删除对象里的某个属性
删除属性有很多方法,学到了就在这里记录一下。有一个对象 a 。有2个属性 b=1 , c=2 删除b,保留 c1. 使用deletelet a = {b:1,c:2}delete a.b//trueconsole.log(a)//{c:2}2. 使用解构let a = {b:1,c:2}let {b,...a} = aconsole.log(a)//{c:2}...原创 2021-06-06 23:35:19 · 4960 阅读 · 0 评论 -
js 驼峰和下划线互相转换
直接上代码function humpToUnderline(str){ return str.replace(/([A-Z])/g,"_$1").toLowerCase()}function underlineToHump(str){ for(let match of str.match(/_(.)/g)){ str = str.replace(match,match.replace('_','').toUpperCase()) } return str}...原创 2021-04-19 00:12:33 · 1036 阅读 · 0 评论 -
js 奇淫巧技
各种 js 的奇淫巧技,在这里记录一下,也分享给广大网友目录sleep函数实现函数劫持sleep函数实现用新的 API : Promise 实现 , 需要配合 async/await 使用var sleep=(t)=>{return new Promise((r=>setTimeout(r,t)))}函数劫持// 原函数function fun(...args){console.log('fun',...args)}// 开始劫持var hack = funfun =原创 2021-02-20 21:26:47 · 540 阅读 · 0 评论 -
js 获取距离某个时间过去了多少年,天,月,等
/** * 根据指定的t,获取t距离现在过去了多少天 * @param t 指定的时间 * @return {any} elapsed 过去的时间 */ function getElapsedTime(t){ let now = Date.now(); let elapsed = now - t let second = 1000; let minute = 60*second; .原创 2021-01-30 15:18:08 · 2819 阅读 · 0 评论 -
javascript 匹配2个字符串的相似度
废话不多说,上代码/** * 获取2个字符串的相似度 * @param {string} str1 字符串1 * @param {string} str2 字符串2 * @returns {number} 相似度 */function getSimilarity(str1,str2) { let sameNum = 0 //寻找相同字符 for (let i = 0; i < str1.length; i++) { for(let j =0;j&原创 2021-01-19 21:46:13 · 3671 阅读 · 0 评论 -
js 正则表达式 判断新旧版本号 以及版本处理
/** * 比较2个版本,返回最大的那个 * @param {*} v1 版本号, 匹配 (\d+)\.(\d+)\.(\d+) * @param {*} v2 版本号, 匹配 (\d+)\.(\d+)\.(\d+) */ function compareVersions(v1, v2) { let v1_nums = v1.match(/^(\d+)\.(\d+)\.(\d+)$/) let v2_nums = v2.match(/^(\d+)\.(\d+)\.(\d+原创 2020-12-28 15:00:14 · 1697 阅读 · 0 评论 -
Javascript 【基础】对象数组去重
直接上代码//对象数组去重function arrayReSet(jsonArray) { let json = jsonArray; //两个数组对象合并 let newJson = []; //盛放去重后数据的新数组 console.log(json) for (let i = 0; i < json.length; i++) { //循环json数组对象的内容 let flag = true; //建立标记,判断数据是否重复,true为不重复 for (let原创 2020-11-06 23:25:51 · 1239 阅读 · 1 评论 -
html 元素平滑滚动到某一位置
在网上查了大半天,有人用高度算,然后setTimeout的,那个观感真的是差到家了,还有人说用 js动画库的其实很简单,直接用window.scrollTo 这个方法就完事了回到顶部window.scrollTo({ top: 0, behavior: "smooth"});滚到底部window.scrollTo({ top: document.documentElement.scrollHeight, behavior: "smooth"});原创 2020-11-03 00:11:44 · 987 阅读 · 6 评论 -
JavaScript 【基础】 浏览器执行脚本
步骤一: 在浏览器指定界面按下F12二:找到输入代码的地方三:输入js代码平时我们做开发的,或者想使用一些外挂,脚本来实现界面的一些更改之类的操作,可以直接在浏览器上面进行。一: 在浏览器指定界面按下F12比如我想要修改视频的速度,2倍速看还是不爽?那就16倍。我们进入b站,随便找几个视频,然后按下F12,你就会看见右边出来一个框框,我用的是chrome谷歌浏览器,其他浏览器也是一样的,一般都在右边,或者底部弹出。二:找到输入代码的地方一般都是点击conslole,如果全是中文就点击控制台原创 2020-05-25 22:57:30 · 9699 阅读 · 0 评论