”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > JavaScript 基础知识:第 1 部分

JavaScript 基础知识:第 1 部分

发布于2024-10-31
浏览:960

JavaScript Essentials: Part 1

Javascript就像一罐蜂蜜。您可以将手指浸入其中并刷一口。很甜。太棒了。这是危险的。它可能是危险的,就像锅里的热蜂蜜一样。

JavaScript复杂吗?好吧,您应该在本摘录的末尾找到这个问题的答案(也包括其他部分)。我们可以问另一个问题。开发一个程序需要多少 JavaScript 知识?如果您了解数据和数据流,将会有所帮助。我需要什么数据以及如何构建它?我该如何处理这些数据?类似的事情。当你思考一个概念时,你会做或应该能够做。这本质上就是本材料的目的(不过我们没有忘记第一个问题,“javascript 复杂吗?”)。

我通常喜欢简短而详细的文章,但这次会很长,所以请系好安全带。

我们将在这一部分讨论数据类型和变量。

运行 JavaScript

之前在什么是 Nodejs 上,我们创建了一个 hello world 程序。我们将在这里做同样的事情。

要运行Javascript程序,我们需要nodejs和要运行的程序(代码)。我们将使用一个名为 app.js 的文件。因此,创建一个名为 app.js 的文件并继续操作。 .js 扩展名表明它是一个 Javascript 文件。我们已经讨论过这个问题了,所以我就到此为止。

node app.js

控制台日志

有一种简单的方法可以将文本(数据)打印到终端(屏幕),这是通过 console.log 完成的。就像我们的 hello world 程序一样。在文本编辑器中输入此代码。

console.log("Hello, it's me, javascript");

无论我们在 ( 和 ) 之间放置什么有效数据,都将打印到终端。在我们的例子中,我们在屏幕上打印了一条文本,说:你好,是我,javascript。我们要打印的数据周围有双引号。这个封闭的引号使我们的数据成为一个字符串。

尝试将字符串打印(写入)到终端并感受一下。

为了避免怀疑,当您创建 app.js 时,请在输入代码时保存它,然后运行它。

细绳

字符串是用引号(双引号、单引号或反引号)括起来的值(数据)。字符串就是文本。你的名字、年级等都是字符串。字符串可以是短语、句子、段落、单词、字符等

示例

  • “Lorem ipsum”
  • 'Lorem ipsum'
  • \Lorem ipsum\\
  • “哦!那个库是由Ant Fu开发的,一个狂热的开源错误?”
  • “丹尼的妈妈是科技首席执行官”
  • “我想在字符串中使用单引号。那么使用双引号作为引号不是更好吗?”
  • '我想在字符串中使用双引号。单引号表示,“有一个名为 foo bar 的字符串”'
  • “我可以混合搭配单引号和反引号中的双引号”,John Doe 的爸爸说。\

上面的示例向您展示了如何使用字符串,并指出了在 JavaScript 中处理字符串的注意事项。对于初学者,您可以决定使用双引号或单引号。你选择。在进行字符串插值或遇到最后一个示例时使用反引号。只需知道,当您使用引号创建字符串时,起始引号必须匹配并以相同的引号结束。所以不能用单引号开始,用双引号结束。

我们可以在引号分隔的字符串中使用引号(双引号、单引号或反引号),但随后我们必须对其进行转义。我们使用反斜杠 \.

例子

console.log('we can use double quote in a double-quoted string, " by escaping');

现在,使用 console.log 记录上述字符串并编写您自己的字符串。

数字

数字示例:-3、5、10000、12.5等。它们可用于表示某项的计数或测量值。我的意思是,这就是数字。或者?

布尔值

布尔值,是一种值(数据)类型,就像字符串和数字一样。但是,布尔值要么为真,要么为假。就是某些条件是或不是的情况。

目的

Javascript 中的对象是一种呈现键值对数据的方式。我们可以使用对象文字对某些项目的相关数据进行分组。为了创建对象文字,我们将此数据括在 { 和 } 中。让我们创建一个用户个人资料。

例子

我们将console.log用户个人资料。用户个人资料姓名、出生日期、职业、宠物数量、蛋白质重量(克)、工作等。每个键值都用逗号分隔。键后跟冒号,然后是值,形成键值对。通常,键是字符串(是的,我们将对象的键括在引号中)。您可以向其中添加更多键(属性)。

name 是一个字符串(我的意思是它的值)。 javascript 中有一个日期对象,但现在我们可以使用字符串作为 出生日期profession也是一个字符串。 宠物数量蛋白质重量(以克为单位)是数字。 有工作 表示个人资料持有者是否有工作。所以它是一个布尔值。

{
    "name": "John Doe",
    "date of birth": "2000-12-25",
    "profession": "Software Engineer",
    "number of pets": 2,
    "weight of protein in grams": 12.5,
    "has a job": true
}

这是一个对象(文字),详细说明了 John Doe 的 个人资料的内容。

现在我们可以console.log它了。

console.log({
  name: "John Doe",
  "date of birth": "2000-12-25",
  profession: "Software Engineer",
  "number of pets": 2,
  "weight of protein in grams": 12.5,
  "has a job": true,
});

请注意,现在将键设置为字符串很重要。保持好奇心并使用字符串以外的其他东西作为键。你会学到很多东西。

计算器

数学是编程和科学的日常工作。我们不需要那么多数学。我们需要知道的只是加法( )、减法(-)、乘法(*)、除法(/)、取模(%) 和指数 (**).

从这里开始,模 (%) 和指数 (**) 对您来说是新的,因此我们将做一些数学计算。

// adding numbers with the plus
console.log(3   3); // answer = 6
console.log(1   2   4); // answer = 7

// subtraction with dash
console.log(6 - 3); // answer = 3
console.log(-16 - 3); // answer = -19

// multiplication with asterisk
console.log(5 * 3); // answer = 15
console.log(30 * 15); // answer = 450

// division with forward slash
console.log(30 / 5); // answer = 6
console.log(12.25 / 0.5); // answer = 24.5

// modulo (is the remainder after division is done) with the percentage sign (%)
console.log(5 % 2); // answer = 1
console.log(2 % 5); // answer = 2

// exponent with two asterisks (**)
console.log(5 ** 2); // answer = 5 * 5 = 25

变量

稍后,我们将在考虑为什么需要变量之后讨论变量是什么。我想你会知道变量是什么基于你可能需要它的原因。

让我们考虑一下到目前为止我们已经完成的字符串、数字、布尔值、对象和计算。我们如何获得这些值并对它们进行其他计算?我们使用一个变量。

因此我们可以将 3 3 的结果存储为 6 或作为值分配给变量。然后我们可以稍后使用该值。这样我们就可以跟踪变量的值(状态)。要知道,只要你看到一个变量,就有一个值。

变量是附加到值的标记、标签或名称。无论您在何处调用(引用)或使用该变量,都会引用该值。当我们说x为2时,x加上3,即x 3。结果将是x 3 = 2 3 = 5。

变量保存数据流中使用的数据。

Const 和 Let
在 Javascript 中,创建变量时使用 const 和 let(小写)。

  • 当您想要分配一个不应该或不会更改的值时,请使用 const
  • 当你想分配一个可能改变的值时使用 let

让我们创建并使用一些变量

const name = "John Doe";
const dateOfBirth = "2000-12-25";
const profession = "Software Engineer";
const numberOfPets = 2;
const weightOfProteinInGrams = 12.5;
const hasAJob = true;

以上变量均为常量。如果我们希望它们可以更改(重新分配),我们可以使用 let 而不是 const。这样我们就可以为这些变量分配不同的值。尝试为 const 变量重新赋值。

这就是我们所说的为变量重新赋值的意思。

const name = "John Doe";
name = "Peter Dow";

或者

const name = "John Doe";
name = "John Dow";

将导致此错误消息:Uncaught TypeError:分配给常量变量。

变量注释

  • 要创建变量,我们可以使用const和let。
  • 其形式为 let = ;
  • 是名称/标签/短语。看看上面的const变量。
  • 必须以字母字符或下划线 (_) 开头
  • 中不能有空格。由于空格,我的名字不能是变量名。
  • 中可以包含数字。根据前面的规则,我们可以有name1、a1、_pet3_、MAX_LIFE、max_life、maxLife、MaxLife等
  • 变量名称最好描述或告知您它所保存的数据或变量的用途。
  • 这些变量:MAX_LIFE、max_life、maxLife、MaxLife,说同样的话,max life.
  • 使用了这种格式 maxLife,称为camelCasing。这个,MaxLife就是PascalCasing。这个max_life,就是snake_casing。 MAX_LIFE 用于创建常量。

我们可以为之前创建的配置文件对象创建一个变量。

const profile = {
  name: "John Doe",
  "date of birth": "2000-12-25",
  profession: "Software Engineer",
  "number of pets": 2,
  "weight of protein in grams": 12.5,
  "has a job": true,
};

console.log(profile);

结论

还有更多关于数据和数据流的讨论。到目前为止,我们已经了解了字符串、数字、布尔值和对象文字。正如我们所讨论的,变量是一种跟踪值的方法。语句 const x = 2 值 2 赋给变量 x.

等于符号=,是赋值运算符。这就是为什么我们说,变量 x 被赋值为 2.

我们还有更多关于 javascript 的内容可以讨论,例如:

  • 字符串插值及其方法要点
  • 数组
  • 控制结构(if语句、循环)
  • 功能
  • 回调、承诺、异步和等待
  • 下一件大事
版本声明 本文转载于:https://dev.to/otumianempire/javascript-essentials-part-1-39c1?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何将MySQL数据库添加到Visual Studio 2012中的数据源对话框中?
    如何将MySQL数据库添加到Visual Studio 2012中的数据源对话框中?
    在Visual Studio 2012 尽管已安装了MySQL Connector v.6.5.4,但无法将MySQL数据库添加到实体框架的“ DataSource对话框”中。为了解决这一问题,至关重要的是要了解MySQL连接器v.6.5.5及以后的6.6.x版本将提供MySQL的官方Visual...
    编程 发布于2025-05-19
  • 编译器报错“usr/bin/ld: cannot find -l”解决方法
    编译器报错“usr/bin/ld: cannot find -l”解决方法
    错误:“ usr/bin/ld:找不到-l “ 此错误表明链接器在链接您的可执行文件时无法找到指定的库。为了解决此问题,我们将深入研究如何指定库路径并将链接引导到正确位置的详细信息。添加库搜索路径的一个可能的原因是,此错误是您的makefile中缺少库搜索路径。要解决它,您可以在链接器命令中添加...
    编程 发布于2025-05-19
  • Java中Lambda表达式为何需要“final”或“有效final”变量?
    Java中Lambda表达式为何需要“final”或“有效final”变量?
    Lambda Expressions Require "Final" or "Effectively Final" VariablesThe error message "Variable used in lambda expression shou...
    编程 发布于2025-05-19
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    在java 中有效地替换多个substring,需要在需要替换一个字符串中的多个substring的情况下,很容易求助于重复应用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    编程 发布于2025-05-19
  • 解决Spring Security 4.1及以上版本CORS问题指南
    解决Spring Security 4.1及以上版本CORS问题指南
    弹簧安全性cors filter:故障排除常见问题 在将Spring Security集成到现有项目中时,您可能会遇到与CORS相关的错误,如果像“访问Control-allo-allow-Origin”之类的标头,则无法设置在响应中。为了解决此问题,您可以实现自定义过滤器,例如代码段中的MyFi...
    编程 发布于2025-05-19
  • 用户本地时间格式及时区偏移显示指南
    用户本地时间格式及时区偏移显示指南
    在用户的语言环境格式中显示日期/时间,并使用时间偏移在向最终用户展示日期和时间时,以其localzone and格式显示它们至关重要。这确保了不同地理位置的清晰度和无缝用户体验。以下是使用JavaScript实现此目的的方法。方法:推荐方法是处理客户端的Javascript中的日期/时间格式化和时...
    编程 发布于2025-05-19
  • 为什么我会收到MySQL错误#1089:错误的前缀密钥?
    为什么我会收到MySQL错误#1089:错误的前缀密钥?
    mySQL错误#1089:错误的前缀键错误descript [#1089-不正确的前缀键在尝试在表中创建一个prefix键时会出现。前缀键旨在索引字符串列的特定前缀长度长度,可以更快地搜索这些前缀。了解prefix keys `这将在整个Movie_ID列上创建标准主键。主密钥对于唯一识别...
    编程 发布于2025-05-19
  • 切换到MySQLi后CodeIgniter连接MySQL数据库失败原因
    切换到MySQLi后CodeIgniter连接MySQL数据库失败原因
    无法连接到mySQL数据库:故障排除错误消息要调试问题,建议将以下代码添加到文件的末尾.//config/database.php并查看输出: ... ... 回声'... echo '<pre>'; print_r($db['default']); echo '</pr...
    编程 发布于2025-05-19
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-05-19
  • 如何正确使用与PDO参数的查询一样?
    如何正确使用与PDO参数的查询一样?
    在pdo 中使用类似QUERIES在PDO中的Queries时,您可能会遇到类似疑问中描述的问题:此查询也可能不会返回结果,即使$ var1和$ var2包含有效的搜索词。错误在于不正确包含%符号。通过将变量包含在$ params数组中的%符号中,您确保将%字符正确替换到查询中。没有此修改,PDO...
    编程 发布于2025-05-19
  • 如何将来自三个MySQL表的数据组合到新表中?
    如何将来自三个MySQL表的数据组合到新表中?
    mysql:从三个表和列的新表创建新表 答案:为了实现这一目标,您可以利用一个3-way Join。 选择p。*,d.content作为年龄 来自人为p的人 加入d.person_id = p.id上的d的详细信息 加入T.Id = d.detail_id的分类法 其中t.taxonomy =...
    编程 发布于2025-05-19
  • Java开发者如何保护数据库凭证免受反编译?
    Java开发者如何保护数据库凭证免受反编译?
    在java 在单独的配置文件保护数据库凭证的最有效方法中存储凭据是将它们存储在单独的配置文件中。该文件可以在运行时加载,从而使登录数据从编译的二进制文件中远离。使用prevereness class import java.util.prefs.preferences; 公共类示例{ 首选项...
    编程 发布于2025-05-19
  • Python不会对超范围子串切片报错的原因
    Python不会对超范围子串切片报错的原因
    在python中用索引切片范围:二重性和空序列索引单个元素不同,该元素会引起错误,切片在序列的边界之外没有。这种行为源于索引和切片之间的基本差异。索引一个序列,例如“示例” [3],返回一个项目。但是,切片序列(例如“示例” [3:4])返回项目的子序列。索引不存在的元素时,例如“示例” [9] ...
    编程 发布于2025-05-19
  • 如何从Google API中检索最新的jQuery库?
    如何从Google API中检索最新的jQuery库?
    从Google APIS 问题中提供的jQuery URL是版本1.2.6。对于检索最新版本,以前有一种使用特定版本编号的替代方法,它是使用以下语法:获取最新版本:未压缩)While these legacy URLs still remain in use, it is recommended ...
    编程 发布于2025-05-19
  • Java为何无法创建泛型数组?
    Java为何无法创建泛型数组?
    通用阵列创建错误 arrayList [2]; JAVA报告了“通用数组创建”错误。为什么不允许这样做?答案:Create an Auxiliary Class:public static ArrayList<myObject>[] a = new ArrayList<myO...
    编程 发布于2025-05-19

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

Copyright© 2022 湘ICP备2022001581号-3