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

JavaScript 基础知识:第 1 部分

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

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]删除
最新教程 更多>
  • 为什么Microsoft Visual C ++无法正确实现两台模板的实例?
    为什么Microsoft Visual C ++无法正确实现两台模板的实例?
    The Mystery of "Broken" Two-Phase Template Instantiation in Microsoft Visual C Problem Statement:Users commonly express concerns that Micro...
    编程 发布于2025-03-12
  • UTF-8 vs. Latin-1:字符编码大揭秘!
    UTF-8 vs. Latin-1:字符编码大揭秘!
    [utf-8和latin1 在他们的应用中,出现了一个基本问题:什么辨别特征区分了这两个编码?超出其字符表现能力,UTF-8具有额外的几个优势。从历史上看,MySQL对UTF-8的支持仅限于每个字符的三个字节,这阻碍了基本多语言平面(BMP)之外的字符的表示。但是,随着MySQL 5.5的出现,...
    编程 发布于2025-03-12
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-03-12
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    在java 中有效地替换多个substring,需要在需要替换一个字符串中的多个substring的情况下,很容易求助于重复应用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    编程 发布于2025-03-12
  • Part SQL注入系列:高级SQL注入技巧详解
    Part SQL注入系列:高级SQL注入技巧详解
    [2 Waymap pentesting工具:单击此处 trixsec github:单击此处 trixsec电报:单击此处 高级SQL注入利用 - 第7部分:尖端技术和预防 欢迎参与我们SQL注入系列的第7部分!该分期付款将攻击者采用的高级SQL注入技术 1。高...
    编程 发布于2025-03-12
  • 为什么PYTZ最初显示出意外的时区偏移?
    为什么PYTZ最初显示出意外的时区偏移?
    与pytz 最初从pytz获得特定的偏移。例如,亚洲/hong_kong最初显示一个七个小时37分钟的偏移: 差异源利用本地化将时区分配给日期,使用了适当的时区名称和偏移量。但是,直接使用DateTime构造器分配时区不允许进行正确的调整。 example pytz.timezone(...
    编程 发布于2025-03-12
  • 如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    How to Resolve "General error: 2006 MySQL server has gone away" While Inserting RecordsIntroduction:Inserting data into a MySQL database can...
    编程 发布于2025-03-12
  • 我们如何保护有关恶意内容的文件上传?
    我们如何保护有关恶意内容的文件上传?
    对文件上载上传到服务器的安全性问题可以引入重大的安全风险,因为用户可能会提供潜在的恶意内容。了解这些威胁并实施有效的缓解策略对于维持应用程序的安全性至关重要。用户可以将文件名操作以绕过安全措施。避免将其用于关键目的或使用其原始名称保存文件。用户提供的MIME类型可能不可靠。使用服务器端检查确定实际...
    编程 发布于2025-03-12
  • 如何使用JavaScript中的正则表达式从字符串中删除线路断裂?
    如何使用JavaScript中的正则表达式从字符串中删除线路断裂?
    在此代码方案中删除从字符串在JavaScript中解决此问题,根据操作系统的编码,对线断裂的识别不同。 Windows使用“ \ r \ n”序列,Linux采用“ \ n”,Apple系统使用“ \ r。” 来满足各种线路断裂的变化,可以使用以下正则表达式: [&& && &&&&&&&&&&&...
    编程 发布于2025-03-12
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-03-12
  • 如何使用PHP将斑点(图像)正确插入MySQL?
    如何使用PHP将斑点(图像)正确插入MySQL?
    essue VALUES('$this->image_id','file_get_contents($tmp_image)')";This code builds a string in PHP, but the function call ...
    编程 发布于2025-03-12
  • 我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?
    我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?
    将我的加密库从mcrypt升级到openssl 问题:是否可以将我的加密库从McRypt升级到OpenSSL?如果是这样,如何?答案:是的,可以将您的Encryption库从McRypt升级到OpenSSL。可以使用openssl。附加说明: [openssl_decrypt()函数要求iv参...
    编程 发布于2025-03-12
  • 在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    For Each Loop vs. Iterator: Efficiency in Collection TraversalIntroductionWhen traversing a collection in Java, the choice arises between using a for-...
    编程 发布于2025-03-12
  • 如何检查对象是否具有Python中的特定属性?
    如何检查对象是否具有Python中的特定属性?
    方法来确定对象属性存在寻求一种方法来验证对象中特定属性的存在。考虑以下示例,其中尝试访问不确定属性会引起错误: >>> a = someClass() >>> A.property Trackback(最近的最新电话): 文件“ ”,第1行, AttributeError: SomeClass...
    编程 发布于2025-03-12
  • Java HashSet/LinkedHashSet随机元素获取方法详解
    Java HashSet/LinkedHashSet随机元素获取方法详解
    在编程中找到一个随机元素,在编程中找到一个随机元素,从集合(例如集合)中选择一个随机元素很有用。 Java提供了多种类型的集合,包括障碍物和链接HASHSET。本文将探讨如何从这些特定集合实现的过程中选择一个随机元素。的java的hashset和linkedhashset a HashSet代表...
    编程 发布于2025-03-12

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

Copyright© 2022 湘ICP备2022001581号-3