- 从官网看了都是最新的版本,我这电脑是win7的,最新版支持最低版本win8.1. 只能找一个支持win7、的node版本。 官网:https://nodejs.org/en/download/ 历史版本:https://nodejs.org/en/download/releases/ 建议打开图标下载,打开链接下载速度特别慢。 下载完成后直... 从官网看了都是最新的版本,我这电脑是win7的,最新版支持最低版本win8.1. 只能找一个支持win7、的node版本。 官网:https://nodejs.org/en/download/ 历史版本:https://nodejs.org/en/download/releases/ 建议打开图标下载,打开链接下载速度特别慢。 下载完成后直...
- 数组去重方法老生常谈,既然是常谈,我也来谈谈。 也许我们首先想到的是使用 indexOf 来循环判断一遍,但在这个方法之前,让我们先看看最原始的方法: var array = [1, 1, '1', '1']; function unique(array) { // res用来存储结果 var res = []; for (var i = 0, arrayLen... 数组去重方法老生常谈,既然是常谈,我也来谈谈。 也许我们首先想到的是使用 indexOf 来循环判断一遍,但在这个方法之前,让我们先看看最原始的方法: var array = [1, 1, '1', '1']; function unique(array) { // res用来存储结果 var res = []; for (var i = 0, arrayLen...
- break 语句用于跳出循环。 continue 用于跳过循环中的一个迭代。 break 语句可用于跳出循环。 break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话): continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。 代码: <!DOCTYPE html><html> <head> <m... break 语句用于跳出循环。 continue 用于跳过循环中的一个迭代。 break 语句可用于跳出循环。 break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话): continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。 代码: <!DOCTYPE html><html> <head> <m...
- 背景: JavaScript 数据类型 在 JavaScript 中有 6 种不同的数据类型: string number boolean object function symbol 3 种对象类型: Object Date Array 2 个不包含任何值的数据类型: null un... 背景: JavaScript 数据类型 在 JavaScript 中有 6 种不同的数据类型: string number boolean object function symbol 3 种对象类型: Object Date Array 2 个不包含任何值的数据类型: null un...
- 当今如果要开发现代网站或web应用(包括互联网创业),都要学会JavaScript。而面对泛滥的JavaScript在线学习资源,却是很难找到一份高效而实用的方法去学习这个“web时代的语言”。有一点需要注意,几年前我们需要知道一个真正的服务器端语言(比如PHP,Rails,Java,Python 或者 Perl)去开发可扩展,动态的,数据库驱动的web应用,而现在只用Jav... 当今如果要开发现代网站或web应用(包括互联网创业),都要学会JavaScript。而面对泛滥的JavaScript在线学习资源,却是很难找到一份高效而实用的方法去学习这个“web时代的语言”。有一点需要注意,几年前我们需要知道一个真正的服务器端语言(比如PHP,Rails,Java,Python 或者 Perl)去开发可扩展,动态的,数据库驱动的web应用,而现在只用Jav...
- 取出数组中的最大值或者最小值是开发中常见的需求 最原始的方法,莫过于循环遍历一遍: var arr = [6, 4, 1, 8, 2, 11, 23]; var result = arr[0];for (var i = 1; i < arr.length; i++) { result = Math.max(result, arr[i]);}console... 取出数组中的最大值或者最小值是开发中常见的需求 最原始的方法,莫过于循环遍历一遍: var arr = [6, 4, 1, 8, 2, 11, 23]; var result = arr[0];for (var i = 1; i < arr.length; i++) { result = Math.max(result, arr[i]);}console...
- 一、安装koa 在安装完成node.js 之后 执行如下命令 全局安装koa cnpm install koa-generator -g koa2 -h 命令 列出koa 命令的帮助文档 二、创建 koa项目 koa2 peojectname 生成的项目 目录: &... 一、安装koa 在安装完成node.js 之后 执行如下命令 全局安装koa cnpm install koa-generator -g koa2 -h 命令 列出koa 命令的帮助文档 二、创建 koa项目 koa2 peojectname 生成的项目 目录: &...
- 文章目录 1.窗体事件2.鼠标事件3.键盘事件5.常用事件方法(包括窗口事件,鼠标事件,键盘事件,文本事件)6.事件冒泡和事件捕捉 JS事件指再浏览器窗体或者HTML元素上发生的,乐意触发JS代码块运行的行为,下面,我们一起来看看相关事件。 1.窗体事件 例如 onload事件:当页面完全加载完成之后(包括图像,js文件,css文件等)... 文章目录 1.窗体事件2.鼠标事件3.键盘事件5.常用事件方法(包括窗口事件,鼠标事件,键盘事件,文本事件)6.事件冒泡和事件捕捉 JS事件指再浏览器窗体或者HTML元素上发生的,乐意触发JS代码块运行的行为,下面,我们一起来看看相关事件。 1.窗体事件 例如 onload事件:当页面完全加载完成之后(包括图像,js文件,css文件等)...
- 本文来自于 安卓逆向与JavaScript逆向组合课 中的 第六课,略有修改。 JavaScript逆向技术选型 众所周知,在确定了逆向目标之后,就要思考如何选型逆向使用的方案,在JavaScript中通常可以分为三种: 破解方案 适用场景  ... 本文来自于 安卓逆向与JavaScript逆向组合课 中的 第六课,略有修改。 JavaScript逆向技术选型 众所周知,在确定了逆向目标之后,就要思考如何选型逆向使用的方案,在JavaScript中通常可以分为三种: 破解方案 适用场景  ...
- 在还原部分著名的 obfuscator 混淆代码后,会遗留类似下面这样的代码: if ("jZPVk" !== "boYNa") { var _0x115fe4 = _0x46f96b ? function() { var _0x42130b = { "mLuUC": "2|1|5|0|4|3" }; if ("esUCW" !== "YVaOc") { ... 在还原部分著名的 obfuscator 混淆代码后,会遗留类似下面这样的代码: if ("jZPVk" !== "boYNa") { var _0x115fe4 = _0x46f96b ? function() { var _0x42130b = { "mLuUC": "2|1|5|0|4|3" }; if ("esUCW" !== "YVaOc") { ...
- 在经过一些AST处理后的混淆代码,会有一些变量或者函数显得多余,因为还原后,没有其他的代码来使用它们。作为一个有代码洁癖的人,怎么能容忍这样的垃圾代码横行霸道,显得格外刺眼。因此,除之而后快。 删! 删! 删! 统统删掉。作为一个会编程的人,手动一个个删,似乎有点掉价。 那不如来写个插件,一劳永逸。 插件功能 删除代码中没有被用到的变量,或者... 在经过一些AST处理后的混淆代码,会有一些变量或者函数显得多余,因为还原后,没有其他的代码来使用它们。作为一个有代码洁癖的人,怎么能容忍这样的垃圾代码横行霸道,显得格外刺眼。因此,除之而后快。 删! 删! 删! 统统删掉。作为一个会编程的人,手动一个个删,似乎有点掉价。 那不如来写个插件,一劳永逸。 插件功能 删除代码中没有被用到的变量,或者...
- 最近遇到了一个问题,就是 Vue.js 中的 prop 如何实现双向绑定比较好。 之前我都是把 prop 传递到子组件,然后子组件里面直接把 prop 直接改了,这样虽然能把结果反映到父组件,但并不是一个很好的解决方案。 比如我就经常遇到这样的 Warning: Avoid mutating a prop directly since the value wi... 最近遇到了一个问题,就是 Vue.js 中的 prop 如何实现双向绑定比较好。 之前我都是把 prop 传递到子组件,然后子组件里面直接把 prop 直接改了,这样虽然能把结果反映到父组件,但并不是一个很好的解决方案。 比如我就经常遇到这样的 Warning: Avoid mutating a prop directly since the value wi...
- 目录 1 什么是桥接模式 2 参与者 3 实例讲解 4 总结 1 什么是桥接模式 Bridge模式允许两个组件,即客户端和服务一起工作,每个组件都有自己的接口。Bridge是一种高级架构模式,它的主要目标是通过两级抽象来编写更好的代码。它有利于对象之间非常松散的耦合,有时也被称为双适配器模式。 桥接模式的作用在于将实现部分和抽象部分分离, 以便两者可以独立的变化... 目录 1 什么是桥接模式 2 参与者 3 实例讲解 4 总结 1 什么是桥接模式 Bridge模式允许两个组件,即客户端和服务一起工作,每个组件都有自己的接口。Bridge是一种高级架构模式,它的主要目标是通过两级抽象来编写更好的代码。它有利于对象之间非常松散的耦合,有时也被称为双适配器模式。 桥接模式的作用在于将实现部分和抽象部分分离, 以便两者可以独立的变化...
- 前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块。系卤煮自己总结的一些经验和教训。本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来。很难做到详尽充实,如果有好的建议或者不对的地方,还望不吝赐教斧正。 一、接口的流畅性 好的接口是流畅易懂的,他主要体现如下几个方面: 1. 简单 操作某个元素的 css 属... 前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块。系卤煮自己总结的一些经验和教训。本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来。很难做到详尽充实,如果有好的建议或者不对的地方,还望不吝赐教斧正。 一、接口的流畅性 好的接口是流畅易懂的,他主要体现如下几个方面: 1. 简单 操作某个元素的 css 属...
- 目录 1.什么是全局变量和局部变量 2.全局变量和局部变量的声明 2.1 全局变量的声明 2.2 局部变量的声明 3.全局变量和局部变量一些常见问题 3.1全局变量跟局部变量重名 3.2 零散变量的问题 3.3. 变量释放问题 总结: 1.什么是全局变量和局部变量 全局变量:常常... 目录 1.什么是全局变量和局部变量 2.全局变量和局部变量的声明 2.1 全局变量的声明 2.2 局部变量的声明 3.全局变量和局部变量一些常见问题 3.1全局变量跟局部变量重名 3.2 零散变量的问题 3.3. 变量释放问题 总结: 1.什么是全局变量和局部变量 全局变量:常常...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签