js
文章平均质量分 50
CN-Dust
WAWAWA
展开
-
commander插件
commander 是一个 Node.js 命令行界面的解决方案,可以帮助开发者快速构建命令行工具。它提供了一组简单易用的 API,可以帮助开发者定义命令行参数、选项和子命令,并解析命令行参数,方便开发者编写命令行工具。使用 commander 插件,可以轻松地定义命令行参数、选项和子命令,并在命令行中解析这些参数。原创 2024-02-20 16:42:17 · 428 阅读 · 0 评论 -
【JS调用原生Node.js】spawn的使用
Node.js 是跨平台的,也就是说它能运行在 Windows、OSX 和 Linux 平台上。很多 Node.js 开发者都是在 OSX 上做开发的,然后再将代码部署到 Linux 服务器上。Windows 也是 Node.js 官方支持的平台,只要你通过正确的方式写代码,就能在各个平台上毫无压力的跑起来。Node.js 的子进程(child_process)模块下有一 spawn 函数,可以用于调用系统上的命令。在js里调用Node.js里的spawn。原创 2023-03-30 10:56:59 · 1650 阅读 · 0 评论 -
在js中调用cmd命令--spawn
是一个用于创建子进程的函数,通常用于执行外部命令或者其他可执行文件。spawn函数返回一个ChildProcess对象,该对象可以用于与子进程进行交互。是一个数组,包含要传递给命令或者可执行文件的参数,options是一个对象,包含一些可选的配置项,例如环境变量、工作目录等。:一个可读流,用于从子进程的标准错误输出读取数据。:监听子进程的事件,例如exit、error等。:一个可写流,用于向子进程的标准输入写入数据。:一个可读流,用于从子进程的标准输出读取数据。分别监听子进程的标准输出和标准错误输出,原创 2023-03-29 15:17:33 · 4601 阅读 · 0 评论 -
[JS]const了之后,到底什么是不可变的
如果声明的是引用数据类型,指的是该数据的指针不能被修改,指针指向的内容可以修改。原创 2022-09-14 11:17:32 · 160 阅读 · 0 评论 -
[JS]在ACM模式下获取输入
输入输出处理核心代码模式处理不需要处理任何输入输出,直接返回值即可。ACM 模式你的代码需要处理输入输出,请使用如下样例代码读取输入和打印输出:while (line = readline()) { var lines = line.split(' '); var a = parseInt(lines[0]); var b = parseInt(lines[1]); print(a + b);}获取输入的数组详见文章:牛客网里刷题:JS获取输入的数组原创 2022-03-07 14:51:15 · 1834 阅读 · 0 评论 -
[JS][dp]题解 | #打家劫舍(一)#
题解 | #打家劫舍(一)#题目链接打家劫舍(一)题目描述描述你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家;如果偷了第二家,那么就不能偷第一家和第三家。给定一个整数数组nums,数组中的元素表示每个房间存有的现金数额,请你计算在不被发现的前提下最多的偷窃金额。示例1输入:[1,2,3,4]返回值:6说明:最优方案是偷第 2,4 个房间示例2输入:[1,3,6]返回值原创 2022-03-04 14:56:54 · 886 阅读 · 0 评论 -
[JS]题解 | #魔法数字#
题解 | #魔法数字#题目链接魔法数字题目描述牛妹给牛牛写了一个数字n,然后又给自己写了一个数字m,她希望牛牛能执行最少的操作将他的数字转化成自己的。操作共有三种,如下:在当前数字的基础上加一,如:4转化为5在当前数字的基础上减一,如:4转化为3将当前数字变成它的平方,如:4转化为16返回最少需要的操作数。示例1输入3,10输出2示例2输入1,10输出4示例3输入24,500输出19解题思路本题实质上是简单递归,但剪枝过程原创 2022-03-04 14:17:49 · 710 阅读 · 0 评论 -
[JS]题解 | #岛屿数量#
题解 | #岛屿数量#题目链接岛屿数量解题思路很典型的染色法,对每个点进行dfs,将与之相邻的为1的点全染色,用sum记录当前染色值。简而言之,第一个岛全染色为-1,第二个岛全染色为-2,最后取最大负数的反,即为正确答案。用一个dfs就可以解决问题。解题代码/** * 判断岛屿数量 * @param grid string字符串型二维数组 * @return int整型 */function solve(grid) { // write code here /原创 2022-03-04 10:36:42 · 327 阅读 · 0 评论 -
[JS]正则式的使用示例:替换字符串中所有指定内容
JS中是没有replaceAll这个api 的,想要替换一个字符串中所有的指定内容,需要用到正则式。对正则式了解甚少也不要紧,看下面这个demo(一看就会)现在需要把一个字符串里的所有#号换成空格:var str = 'hi#dust#welcome#to#type#script';var str1 = str.replace("#", ' ');console.log('str1:', str1);var str2 = str.replace(/#/g, ' ');console.log('原创 2022-02-16 10:45:35 · 9510 阅读 · 1 评论 -
TS中的感叹号和问号的用法
!和?!用法用在变量前表示取反用在赋值的内容后时,使null和undefined类型可以赋值给其他类型并通过编译,表示该变量值可空let y:numbery = null // 无法通过编译y = undefined // 无法通过编译y = null!y = undefined!// 由于x是可选的,因此parma.x的类型为number | undefined,无法传递给number类型的y,因此需要用x!interface IDemo { x?: num原创 2021-11-30 09:36:10 · 5101 阅读 · 0 评论 -
CSRF攻击与防御
转载地址:http://www.phpddt.com/reprint/csrf.htmlCSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性。你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,We.原创 2021-09-26 12:39:14 · 113 阅读 · 0 评论 -
[JS] 闭包与内存泄漏
一句话总结闭包:函数里套函数,函数返回函数。内存泄漏:每次外部函数执行的时候,外部函数的引用地址不同,都会重新创建一个新的地址。但凡是当前活动对象中有被内部子集引用的数据,那么这个时候,这个数据不删除,保留一根指针给内部活动对象。闭包内存泄漏为: key = value,key 被删除了 value 常驻内存中。function foo() { let a = 10 function show() { console.log(++a) } return show..原创 2021-09-26 11:41:52 · 261 阅读 · 0 评论 -
[JS][编程题]括号匹配
括号匹配题目来源:牛客网题目链接:括号匹配时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M题目描述给定一个只包含括号的字符串,判断字符串是否有效。其中,括号种类包含: ‘(’,’)’,’{’,’}’,’[’,’]’。有效字符串需满足:1) 左括号必须用相同类型的右括号闭合;2)左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串示例1输入"{[]}"输出true示例2输入"([)]"输出false示例3输入原创 2021-09-26 00:31:41 · 438 阅读 · 0 评论 -
[JS] 事件冒泡,阻止事件冒泡,事件的三个阶段(捕获,目标,冒泡)
事件冒泡添加三个套在一起的div元素,在最里面放一个button,感受事件触发时从里到外“冒泡”的过程。给每个div都加一个事件:点击时就alerttest.html<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> &l原创 2021-09-25 22:07:39 · 351 阅读 · 1 评论 -
[JavaScript] 探索JS中的函数秘密
函数长啥样?把一些要重复使用的内容封装到函数内。function foo(title) { console.log(title)}foo('title')foo('dust')foo('hello')运行结果:用对象把函数装起来let user = { name: null, setUsername: function (name) { this.name = name }, getUsername: function () { return thi原创 2021-09-25 14:26:33 · 145 阅读 · 0 评论 -
[JavaScript] 函数作用域问题
理解以下代码:function foo() { let n = 1 return function bar() { let m = 1 function show() { console.log('m:', ++m) console.log('n:', ++n) } show() }}let a = foo()console.log(a)a()a()首先看看这个a是个什么?是返回回来的一个函数——a是一个函数那么n和m原创 2021-09-23 12:53:02 · 81 阅读 · 0 评论 -
[JavaScript] Map类型在JavaScript中的使用
感受Map键值对花样很多let map = new Map()map.set('name', 'dust')map.set(function () {}, 'hello')map.set({}, 'hi')map.set(1, 'www.baidu.com')console.log(map)运行结果:也可以一次性添加多个值let map2 = new Map([ ['name', 'dust'], [function () {}, 'hello'],])conso原创 2021-09-23 11:55:13 · 205 阅读 · 0 评论 -
[JavaScript] Set类型在JavaScript中的使用
初识Set在Set里,不能有重复的值。let set = new Set()set.add(1)set.add(1)console.log(set)运行结果:修改一下let set = new Set()set.add(1)set.add('1')console.log(set)运行结果:这里和对象进行一下比较:对象是不区分字符串和数字的,而且后面的会把前面的覆盖。let obj = { 1: 'hello', '1': 'dust',}console原创 2021-09-22 17:07:11 · 313 阅读 · 0 评论 -
[JavaScript] 好用的 JavaScript Symbol 类型
初识Symbol什么是Symbol?可以理解它为一个标识,一般情况下用来解决重名问题。let hd = Symbol('hello,dust.')let edu = Symbol('good afternoon')console.log(hd == edu) //false一个Symbol要反复使用可以用Symbol.for定义let a = Symbol.for('good morning')let b = Symbol.for('good morning')console.l原创 2021-09-22 16:09:32 · 96 阅读 · 0 评论 -
[JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)
课程来源:后盾人上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一个新的数组,解构赋值,多种添加元素的方式,在数组中增删改,小函数:移动数组里的一部分,清空数组的方式,split和join的使用,find和findIndex的使用,自定义find函数,神奇的排序。数组的循环操作首先我们定义一个数组,命名为lessonslet lessons = [ { n.原创 2021-09-21 16:42:46 · 88 阅读 · 0 评论 -
牛客网里刷题:JS获取输入的数组
有的时候我们刷题会遇到下面这种输入格式,那么用js怎么把它变成数组呢?[1,2,3,4,5]难道用readline()之后在踢掉首尾的字符吗?这样也太麻烦了!我发现了一个好用的方法:let line = read_line()let a = JSON.parse(line)这样就可以将这一行变成一个数组,不信大家可以自己去试试喔~ps:补充一个知识:用parseInt(a)可以将a从String变成number,感兴趣的也可以自己去尝试一下。...原创 2021-09-19 15:22:32 · 1848 阅读 · 0 评论 -
[JS] 题解:提取不重复的整数
题解:提取不重复的整数https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1时间限制:1秒 空间限制:32M描述输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是0。输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1输入:9876673输出:37689题解代码(JS)原创 2021-09-19 15:19:05 · 260 阅读 · 0 评论 -
[JS] HEX颜色转换成RGBA
写了一个函数,可以把hex格式的颜色转为rgba的格式实际上不是颜色转换,主要是slice()函数的使用吧,当成字符串理解就好。function change(hex) { if (hex.length < 9 || hex[0] != '#') return hex let r = parseInt(hex.slice(1, 3), 16) let g = parseInt(hex.slice(3, 5), 16) let b = parseInt(hex.slice(5, .原创 2021-09-16 15:05:24 · 1181 阅读 · 0 评论 -
[JS] for-each和map()的区别
先说下for-each与for-of还有for-in的区别。for-of和for-in都是对对象操作的,而for-each和map()是对数组进行操作的。for-in的使用:对于一个数组里的每一个键进行遍历(不是键值对key-value形式么,就是那个"键")for-of的使用:与for-in不同,for-of取的是键值对里的"值"for-each和map()的区别for-each没有返回值,就是简单的遍历。看以下代码:let a = [1, 2, 3, 4, 5]let c = a.原创 2021-09-16 13:02:44 · 127 阅读 · 0 评论 -
[JS] 如何判断一个对象是否为空
js判断空对象的几种方法一、将对象转为字符串比较let a = {}console.log(JSON.stringify(a) === '{}') //true二、for…in循环function isEmpty(obj) { for (let key in obj) { return false } return true}console.log(isEmpty(a)) //true三、Object.getOwnPropertyNames()Object.getO原创 2021-09-16 12:17:16 · 3704 阅读 · 0 评论 -
[JavaScript] JavaScript 数组挖掘,不只是讲数组哟
课程来源:后盾人数组引用类型分析数组的定义const array = new Array('hello', 'dust', 1, 2, 3, 4, 5)console.log(array)let arr = ['hello', 'dust', 1, 2, 3, 4, 5]console.log(arr)运行结果:数组是引用类型的体现:let arr = ['hello', 'dust', 1, 2, 3, 4, 5]console.log(arr)let hd = ar.原创 2021-09-13 21:00:08 · 128 阅读 · 0 评论