”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 每个开发人员都应该了解的基本 JavaScript 代码

每个开发人员都应该了解的基本 JavaScript 代码

发布于2024-11-09
浏览:577

Essential JavaScript Codes Every Developer Should Know

每个开发人员都应该了解的基本 JavaScript 代码

JavaScript 是一种多功能且功能强大的编程语言,在 Web 开发中发挥着至关重要的作用。无论您是在前端还是后端工作,JavaScript 都是添加交互性、处理事件甚至发出网络请求的关键。以下是每个开发人员都应该熟悉的一些基本 JavaScript 片段。

1. 操作 DOM

文档对象模型 (DOM) 是 JavaScript 可以操作的 HTML 结构的表示。使用 JavaScript,您可以动态更改网页的内容、结构或样式。


document.getElementById("demo").innerHTML = "Hello World!";


此代码查找 id 为 demo 的 HTML 元素,并将其内容更改为“Hello World!”。

2. 处理事件

点击、表单提交和按键等事件是创建动态 Web 应用程序不可或缺的一部分。


document.getElementById("myButton").addEventListener("click", function() {
    alert("Button was clicked!");
});


在此示例中,当单击 id myButton 的按钮时,将弹出一条警报,提示“按钮已被单击!”。

3. 箭头函数

箭头函数是一种更简洁的函数表达式编写方式。他们还有一个额外的好处,就是不绑定自己的 this,这在许多情况下很有帮助。


const add = (a, b) => a   b;
console.log(add(5, 10)); // 15


此代码定义了一个箭头函数 add,它接受两个参数并返回它们的和。

4. 异步/等待处理 Promise

JavaScript 以其异步特性而闻名,使用 async 和 wait 处理异步操作变得更加容易。


async function fetchData() {
    let response = await fetch('https://api.example.com/data');
    let data = await response.json();
    console.log(data);
}


async 关键字允许在函数内部使用await,等待 fetch 调用完成后再继续。

5. 数据持久化的本地存储

本地存储允许您将数据存储在用户的浏览器中,即使在页面重新加载后这些数据仍然存在。


localStorage.setItem("username", "v2rayUser");
let user = localStorage.getItem("username");
console.log(user); // v2rayUser


在此示例中,用户名保存在本地存储中,即使刷新页面后也可以检索。

6. 解构对象和数组

解构是一种将数组中的值或对象的属性提取到不同变量中的便捷方法。


const user = { name: 'John', age: 30 };
const { name, age } = user;
console.log(name); // John
console.log(age);  // 30


此代码演示了如何将用户对象中的值提取到单独的变量中。

7. 数组操作的映射、过滤和归约

这些方法非常适合操作和转换数组。

  • Map:转换数组中的每个元素。
  • Filter:使用通过测试的元素创建一个新数组。
  • Reduce:对每个元素应用函数并将数组减少为单个值。

const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(n => n * 2); // [2, 4, 6, 8, 10]
const even = numbers.filter(n => n % 2 === 0); // [2, 4]
const sum = numbers.reduce((total, n) => total   n, 0); // 15


这些方法提供了一种更实用的方法来处理数组,使代码更易于阅读和维护。


通过掌握这些基本的 JavaScript 代码,开发人员可以编写更高效、可维护且有效的 Web 应用程序。对于任何想要构建安全且优化的 VPN 解决方案的人,尤其是使用 V2Ray 等协议的人,请查看 v2raybox.com 上提供的资源,以探索更高级的用例和教程。

版本声明 本文转载于:https://dev.to/v2raybox/essential-javascript-codes-every-developer-should-know-58ie?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 在 Go 中使用 WebSocket 进行实时通信
    在 Go 中使用 WebSocket 进行实时通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    编程 发布于2024-11-16
  • Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta:列偏移的删除和恢复Bootstrap 4 在其 Beta 1 版本中引入了重大更改柱子偏移了。然而,随着 Beta 2 的后续发布,这些变化已经逆转。从 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    编程 发布于2024-11-16
  • 除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    无需强制转换即可上下文转换为 bool您的类定义了对 bool 的显式转换,使您能够在条件语句中直接使用其实例“t”。然而,这种显式转换提出了一个问题:“t”在哪里可以在不进行强制转换的情况下用作 bool?上下文转换场景C 标准指定了四种值可以根据上下文转换为的主要场景bool:语句:if、whi...
    编程 发布于2024-11-16
  • 如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    MySQL配置不正确:相对路径的问题在Django中运行python manage.py runserver时,可能会遇到以下错误:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-...
    编程 发布于2024-11-16
  • “易失性”在 C++11 多线程中仍然相关吗?
    “易失性”在 C++11 多线程中仍然相关吗?
    C 11 中的 Volatile 变量C 11 标准中多线程机器模型的引入引发了有关 volatile 行为的问题变量,传统上用于防止可能导致并发环境中未定义行为的优化。在 C 98/03 中,内存模型中缺乏对多线程的识别意味着编译器可以优化无法读取易失性变量,从而导致臭名昭著的无休止 while ...
    编程 发布于2024-11-16
  • 如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    在 PHP 中组合关联数组在 PHP 中,将两个关联数组组合成一个数组是一项常见任务。考虑以下请求:问题描述:提供的代码定义了两个关联数组,$array1和$array2。目标是创建一个新数组 $array3,它合并两个数组中的所有键值对。 此外,提供的数组具有唯一的 ID,而名称可能重合。要求是构...
    编程 发布于2024-11-16
  • 如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
    编程 发布于2024-11-16
  • 大批
    大批
    方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
    编程 发布于2024-11-16
  • 为什么 Visual Studio 2010 中 x86 和 x64 的浮点运算不同?
    为什么 Visual Studio 2010 中 x86 和 x64 的浮点运算不同?
    x86 和 x64 之间的浮点算术差异在 Visual Studio 2010 中,x86 和 x64 版本之间的浮点算术存在明显差异当比较某些表达式的值时出现。这种差异体现在以下代码中:float a = 50.0f; float b = 65.0f; float c = 1.3f; float ...
    编程 发布于2024-11-15
  • 如何提高带有通配符的 MySQL LIKE 运算符的性能?
    如何提高带有通配符的 MySQL LIKE 运算符的性能?
    MySQL LIKE 运算符优化问题:使用通配符(例如 '%test% ')?答案: 是的,在查询中使用特定模式时,MySQL 可以优化 LIKE 运算符的性能。前缀通配符: 如果您的查询类似于 foo LIKE 'abc%' 或 foo LIKE 'abc�...
    编程 发布于2024-11-15
  • 如何使用 PHP 通过 POST 向外部网站发送数据?
    如何使用 PHP 通过 POST 向外部网站发送数据?
    在 PHP 中通过 POST 重定向和发送数据在 PHP 中,您可能会遇到需要将用户重定向到外部的情况网站并通过 POST 将数据传递到该网站。与 HTML 表单不同,PHP 本身并不支持此行为。GET 与 POST在 Web 开发中,有两种主要方法用于从源发送数据到目的地:GET:数据作为查询参数...
    编程 发布于2024-11-15
  • 如何使用 GCC 捕获 Linux 中的分段错误?
    如何使用 GCC 捕获 Linux 中的分段错误?
    捕获 Linux 中的分段错误问:我在第三方库中遇到分段错误,但我无法解决根本问题。是否有跨平台或特定于平台的解决方案来使用 gcc 捕获 Linux 中的这些错误?A:Linux 允许将分段错误作为异常处理。当程序遇到此类故障时,它会收到 SIGSEGV 信号。通过设置信号处理程序,您可以拦截此信...
    编程 发布于2024-11-15
  • 如何在不创建实例的情况下访问Go结构体的类型?
    如何在不创建实例的情况下访问Go结构体的类型?
    在不创建物理结构的情况下访问 Reflect.Type在 Go 中,动态加载问题的解决方案需要访问结构的类型,而无需物理创建它们。虽然现有的解决方案要求在类型注册之前创建结构体并清零,但存在一种更有效的方法。人们可以利用 reflect.TypeOf((*Struct)(nil)).Elem()手术...
    编程 发布于2024-11-15
  • Java中如何高效地将整数转换为字节数组?
    Java中如何高效地将整数转换为字节数组?
    Java 中整数到字节数组的高效转换将整数转换为字节数组可用于多种目的,例如网络传输或数据存储。有多种方法可以实现此转换。ByteBuffer 类:一种有效的方法是使用 ByteBuffer 类。 ByteBuffer 是一个存储二进制数据并提供各种操作来操纵它的缓冲区。使用 ByteBuffer ...
    编程 发布于2024-11-15
  • 如何在 Go 中按多个字段对结构体切片进行排序?
    如何在 Go 中按多个字段对结构体切片进行排序?
    按多个字段对切片对象进行排序按多个条件排序考虑以下 Parent 和 Child 结构:type Parent struct { id string children []Child } type Child struct { id string }假设我们有一个...
    编程 发布于2024-11-15

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3