- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 javascript-锁定eval执行时this为window全局变量
在执行eval的时候存在直接执行和间接执行的区别,它们的运行时的上下文是不一样的,直接执行时为当前执行的this,而间接执行上下文是稳定的window。上面的代码输出是这样的,直接调用可以往上层空间查找变量,而间接调用上下文是window就不能查找到内部变量。所以如果需要eval保持上下文为window就使用下面的方式来调用eval。也可以试一下下面的代码对eval上下文进行了解。上面的代码输出是这样的。
2024-09-09 09:46:51 278
原创 javascript-eval动态引入mqtt.min.js
看了mqtt.Js的源码,因为它是直接var mqtt = .... 这样子的,在使用script标签加载的时候会产生一个全局变量mqtt,但是eval的时候不会产生这个全局的mqtt对象,所以需要拼接一下代码将里面声明的mqtt返回处理.在项目中一般mqtt是某一个特定的功能才会使用mqtt,而且mqtt体积也不小,所以一般是打开某些功能的时候才会进行mqtt加载,一般情况就是用fetch和eval配合一下。看看下面的代码就大概知道eval是怎么返回变量的了,eval会将最后一个语句块作为结果返回。
2024-09-09 09:46:30 239
原创 linux-开机启动nodejs脚本
在Linux系统中,开机启动nodejs脚本,将Node.js脚本添加到启动项通常涉及到创建一个服务或使用系统的初始化系统来实现。
2024-03-06 11:05:35 1397
原创 docker-快速部署nginx并映射当前目录静态文件及配置文件
一个小公司也用上了docker,经常需要部署nginx服务,我通常都会把他们上传到一个目录,大概就是下面的样子。这条命令是用于在Docker中运行一个名为“nginx”的容器。就是一个简单的nginx配置(因为经常需要配置代理不想进入容器和拷贝),和指定一个静态文件目录,(静态文件需要经常更新也不想进入容器和拷贝)下面是默认的nginx配置文件default.conf。
2024-01-09 09:47:09 1508
原创 javascript-将本地存储(localStorage)中的数据导出为文本文件
一般情况本地存储很少会被干满的,但是总会有被干满的时候,这时就需要查看本地存储具体存了什么内容,才能更好排查问题。总的来说,这段代码的功能是将本地存储中的数据导出为 JSON 格式的文本文件,并自动下载到用户的设备上。)中的数据导出为文本文件,并自动下载到用户的设备上。这段 JavaScript 代码主要是用于将本地存储(使用下面代码就能快速将本地存储导出,然后慢慢排查了。
2024-01-08 11:20:45 820
原创 NGINX-怎么在文件不存在时才进行代理并且代理到指定的后端url上
当你的前端应用(如使用 React、Angular 等构建的单页应用)和后端服务(如 API 服务器)是分离的,并且前端应用需要访问后端服务的 API 时,你可以使用这种配置。(或者其他某个特定的 URL),如果这个 URL 对应的内容不存在,那么 Nginx 会将请求代理到后端服务器上,并返回后端服务器的响应。),而这个页面在 SPA 中不存在,那么你应该将请求代理到后端服务器,让后端服务器根据请求的 URL 返回相应的内容。假设你有一个前端单页应用(SPA),当用户访问应用的根 URL(例如。
2023-12-21 10:56:48 631
原创 NGINX-配置websocket反向代理
指定匹配的URL路径是以"/console"开头的请求。:指定代理转发的目标地址是"http://127.0.0.1:8080/console",也就是将请求转发给本地的8080端口上的/console后端服务。总结起来,这段配置的作用是将以"/console"开头的请求转发给本地的8080端口上的/console后端服务,并通过适当的设置确保代理的顺利进行。:将请求头中的Upgrade字段的值传递给后端服务。:将请求头中的Connection字段的值设置为"Upgrade",同样也是为了支持协议升级。
2023-12-19 10:02:00 739
原创 GIT-提交错了分支怎么办
此命令将暂存的文件提交到Git的暂存栈中,即将当前分支的未提交的更改保存起来。最后,您可以正常提交代码以完成修复。:此命令是将代码库回退到指定的提交,即将最近的一次错误提交取消,并将其放回暂存区。:此命令用于切换到包含错误提交的分支,即含有错误提交代码的分支,以便后续进行修复。:此命令用于切换回包含正确代码的分支,即之前的正确提交所在的分支。:此命令将当前目录下的所有文件提交到暂存区,以便后续提交。git stash (把暂存的文件提交到git的暂存栈)表示将最近的一次提交放回暂存区,并取消该次提交。
2023-12-18 17:25:51 686
原创 linux把当前目录挂在到docker运行nodejs应用
这里是运行 `node /data/webhook.node.js`,其中 `/data/webhook.node.js` 是在容器内的 `/data` 目录下的一个 Node.js 脚本文件。使用这个 `docker run` 命令,你可以在容器中以后台运行的方式,启动一个名为 `node8010` 的容器,映射到主机的 8010 端口,并执行 `/data/webhook.node.js` 脚本文件。- `-v $(pwd):/data`: 将当前工作目录挂载到容器内的 `/data` 目录。
2023-07-07 00:30:00 356 1
原创 linux中sudo未找到命令npm和node
我的nodejs是在官网下载的,并且里链接到了/usr/local/bin这个目录里面这样子root用户登录的时候执行npm和node命令是正常的但是使用sudo npm install的时候就会提示-bash: npm: 未找到命令-bash: node: 未找到命令如果你想使用sudo命令来以管理员权限运行node命令,可以按照以下步骤进行:执行以下命令,编辑sudo在打开的文件中,找到这将告诉sudo命令在执行时安全目录的环境变量。
2023-07-06 17:34:21 4091 1
原创 typescript泛型基础使用
在函数调用时,可以使用尖括号传入具体的类型值,也可以让 TypeScript 自动推断出类型。例如,上面的调用中,参数为字符串,TypeScript 会自动将。TypeScript 中的泛型可以帮助我们编写更加灵活和可复用的代码,它可以在函数、接口、类等语法结构中使用。在使用泛型时,我们可以使用不同的类型值来实现不同的需求,帮助我们编写更加灵活和可复用的代码。接口,它表示一个可添加、删除并访问指定位置元素的列表类型,其中元素类型使用泛型。在上面的例子中,我们使用了函数泛型,定义了一个名为。
2023-06-11 10:06:34 82
原创 html里面iframe实现跨域与主页面通信
);在主页面上,可以使用来监听来自不同源的页面发送的消息。当监听到消息时,可以在回调函数中处理消息内容event.data。需要在主页面的监听函数中检查来源地址是否正确,这样防止页面被恶意注入代码,保障安全性。注意:在使用方法传递数据时,数据可以是任何 JS 支持的数据类型,包括字符串、数字、布尔值、对象、数组等,但不支持函数或 DOM 节点对象等引用类型。传递引用类型的数据可以先使用方法序列化为字符串,然后在接收端使用方法进行反序列化。以上就是基于方法实现跨域通信的基本流程。
2023-06-09 14:29:17 1097
原创 nodejs使用exec运行adb对安卓设备进行截图
你可以将路径修改为你需要保存截图的路径。另外,请注意检查是否已经将 adb 工具添加到环境变量中。命令,该命令会将安卓设备的屏幕截图保存到标准输出(stdout)中。模块将标准输出流中的数据保存到指定路径的文件中。下面是一个 Node.js 中使用。上述代码从子进程中运行。
2023-06-01 23:46:25 753
原创 HTML事件传递,捕获阶段,目标阶段,冒泡阶段
HTML 事件传递的过程是一个由外向内再由内向外的过程,同时允许在特定的阶段阻止事件的传递和默认的行为
2023-05-30 11:47:38 657
原创 正则表达式校验身份证号码
这个正则表达式可以匹配类似于 “110101198001011234” 的身份证号码。需要注意的是,这个正则表达式并不能完全保证身份证。
2023-05-29 20:00:00 6244 1
原创 typescript配置允许隐式声明any
需要注意的是,虽然隐式声明 any 类型会提高开发效率,但同时也会降低 TypeScript 的类型检查能力。如果你需要更好的类型安全性,还是建议尽可能地显式地声明变量和参数的类型。选项来禁止隐式声明 any 类型,这是 TypeScript 的默认行为。这样编译器就会允许你隐式声明 any 类型了。在 TypeScript 中,可以通过配置。
2023-05-28 10:31:59 2906
原创 typescript给window/global多声明一个属性
在一般的编程过程中,我比较喜欢在全局变量声明一个程序使用的配置的对象属性,为了避免冲突,我一般都在这个对象属性再做扩展,例如下面的格式在 TypeScript 中,如果你需要在全局对象window上添加一个自定义属性,可以使用模块化的方式来声明它。模块化允许您在文件中定义自己的私有范围。您可以使用独立的文件或export语句来导出该属性,然后在需要它的代码中导入它。例如,假设你需要在window对象上声明一个名为myProperty。
2023-05-27 11:39:06 5179 1
原创 typescript对象声明可选属性,可选函数方法
以上是在 TypeScript 开发中对象声明需要注意的一些细节,开发者们在使用 TypeScript 时如果注意一些这些细节可以更加方便和高效地使用该语言。在typescript开发中我经常遇到一些JSON对象声明,在传参的过程中,对象经常会缺失参数或者参数未定义导致编译失败,在对象声明时我应该注意什么。
2023-05-26 22:15:58 1555 1
原创 GIT - checkout指定head的某个文件
是要检出的文件路径。这个命令会将指定提交中的指定文件覆盖当前工作目录中的同名文件,并将文件的更改提交到暂存区域。如果你要在 Git 中引用该提交,可以使用该标识符作为参数。在上面的例子中,第一行显示了一个提交的 SHA-1 标识符 (是要检出的目标提交的 SHA-1 标识符或分支名称,如果只需要查看文件而不是将其检出到工作目录中,请使用。那怎么通过git命令查看SHA-1标识符呢。命令检出该提交的版本。
2023-05-25 22:08:50 1956
原创 在linux里面把一个在前台运行的命令转为后台运行
命令将在后台继续运行。您可以执行其他命令,而无需等待该命令完成。快捷键将一个正在前台运行的命令暂停,并使其转为后台运行。快捷键暂停当前正在前台运行的命令。命令查看当前正在执行的作业列表。例如,假设您正在前台运行一个名为。命令,查看处于后台状态的作业。命令将前台作业转移到后台。命令将作业切换回前台运行。命令将它转移到后台。命令转移到后台运行。
2023-05-24 08:00:00 3559
原创 nodejs开发本地的公用包
在Node.js开发中,你可以使用npm(Node.js包管理器)来创建、管理和分享模块和包。如果您需要在多个项目中分享公共代码包,则可以使用npm来创建和管理这些公共包。在你的本地文件夹中创建一个新的文件夹,作为你的代码包的根目录。在这个文件夹中,你将创建用于存储代码和描述文件的子文件夹和文件。使用npm init命令来初始化你的代码包。在执行此命令时会问你一些问题,例如名称、版本、描述等。你需要根据实际情况回答这些问题。npm init在你的代码包子文件夹下,你可以编写你的代码。
2023-05-23 08:00:00 1113
原创 javascript 一个简单的列表结构转树状结构方法
用JS代码写一个将结构[{id:1},{id:2, pid: 1},{id:3, pid: 2}]转换成[{id:1, children:[{id:2, pid: 1, children: [{id:3, pid: 2}] }] }]的方法
2023-05-22 22:00:00 1105 1
原创 DevExtreme 里面data grid 怎么滚动到指定位置
最近开发用到devextreme组件库里面的data grid组件,在处理大量数据的时候,滚动后进行表头搜索有可能导致索引,勾选框和内容错位的情况,要解决这种异常,目前是用代码让表单滚动到顶部后再进行搜索,那么devextreme里面data grid 怎么滚动到指定位置?另外,如果需要进一步控制数据表格的滚动,也可以使用 swipeDown 或 swipeUp 方法来滚动表格,或者监听 onScroll 事件来响应表格的滚动事件。方法将 DataGrid 滚动到了第 300 行上方,而。
2023-05-20 10:31:55 418 1
原创 JS里面怎么把单词的首个字母转换成小写
日常编码时经常使用字符串拼接产生具有规则的字符串,我经常使用全小写+下划线进行拼接字符串, 有的时候遇到首字母是大写的单词需要拼接,遇上这种情况可以使用JavaScript的内置方法。方法获取除了首字母之外的子字符串,并拼接成最终的结果。将字符串的首字母转换为小写。方法获取到字符串的首字母,方法将其转换为小写,
2023-05-19 10:51:13 1077 1
原创 正则表达式校验密码策略最少8位,大小写字母加符号加数字的组合
在上面的示例代码中,定义了一个表单元素和一个密码输入框。当用户提交表单时,调用。如果你需要在表单中校验密码时,可以在表单提交时触发一个函数进行校验。如果密码符合要求,则提交表单;你可以将上面的正则表达式编译成一个 RegExp 对象,然后调用它的。方法,判断密码是否符合正则表达式的要求。在上面的示例代码中,首先定义了一个待校验的密码字符串。如果密码符合以上要求,这个正则表达式就会匹配成功。方法来测试一个字符串是否匹配一个正则表达式。方法会返回一个布尔值,如果匹配成功则返回。,然后将正则表达式编译成一个。
2023-05-17 22:11:58 4513
BATTOOL右键创建批处理工具
2014-05-12
DELPHI动态创建删除FRAME---示例源码
2013-05-09
SPY++ 查看窗口消息好帮手
2013-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人