”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > JavaScript 变量和数据类型:在 JavaScript 中存储和操作数据。

JavaScript 变量和数据类型:在 JavaScript 中存储和操作数据。

发布于2024-11-08
浏览:977

JavaScript Variables and Data Types: Storing and manipulating data in JavaScript.

JavaScript 是一种为网络提供支持的多功能编程语言,使开发人员能够创建交互式动态网站。 JavaScript 以及任何编程语言的核心概念之一是如何存储和操作数据。为了有效地构建 Web 应用程序,必须了解 JavaScript 中的变量数据类型

在本文中,我们将介绍什么是变量、如何声明它们,以及 JavaScript 支持存储和操作数据的各种数据类型。


JavaScript 中的变量

什么是变量?

JavaScript中的变量就像一个保存数据的容器。它允许您存储和检索可在整个程序中使用的值。将变量视为附加到值上的标签。一旦你给一个变量赋值,你就可以通过它的名字来引用它,而不是每次都直接使用这个值。

例如,您可以将其分配给一个变量,如下所示:


let name = "John";
console.log(name);  // Outputs: John


声明变量

在 JavaScript 中,可以使用 var、let 或 const 关键字来声明变量。

1. var

var 是 JavaScript 中声明变量的最古老的方式。然而,它在范围方面存在一些问题,这就是为什么现代 JavaScript 开发人员更喜欢使用 let 和 const。


var age = 30;
console.log(age);  // Outputs: 30


2.

let 是块作用域的,这意味着变量仅存在于定义它的块内(例如,在函数或循环内)。它是现代 JavaScript 中最常用的变量声明方式。


let city = "New York";
console.log(city);  // Outputs: New York


3. 常量

const 与let 类似,但用于声明值不会改变的变量。一旦将值分配给用 const 声明的变量,就不能重新分配。


const country = "USA";
console.log(country);  // Outputs: USA

// This will throw an error
// country = "Canada";  


命名变量

命名变量时,请记住以下规则:

  • 变量名称可以包含字母、数字、下划线 (_) 和美元符号 ($)。
  • 它们必须以字母、下划线或美元符号开头。
  • 变量名称 区分大小写(例如,myVar 和 myvar 是不同的变量)。
  • JavaScript 关键字(例如 var、let、if、function)不能用作变量名。

一个常见的约定是使用 camelCase 作为变量名称,例如 myVariableName.


JavaScript 中的数据类型

JavaScript 支持各种数据类型,它们指定变量可以保存的值的类型。数据类型分为两类:

  • 原始数据类型
  • 非原始(参考)数据类型

原始数据类型

原始数据类型是 JavaScript 中最基本的数据类型。它们包括:

1. 字符串

字符串用于表示文本数据。它们用引号括起来——单引号 (')、双引号 (") 或反引号 (`)。


let greeting = "Hello, World!";
let anotherGreeting = 'Hi there!';
console.log(greeting);  // Outputs: Hello, World!


2. 数字

数字数据类型表示整数和浮点数(即小数)。


let age = 25;       // Integer
let price = 99.99;  // Floating-point number


3. 布尔值

布尔值表示逻辑值——真或假。它们经常用于条件语句和比较。


let isLoggedIn = true;
let hasAccess = false;


4. 未定义

当声明变量但未赋值时,它会自动初始化为未定义的值。


let myVar;
console.log(myVar);  // Outputs: undefined


5.

null 表示显式为空或不存在的值。当您想要指示变量不应该有值时使用它。


let emptyValue = null;


6. 符号

符号是唯一且不可变的值,通常用于为对象创建唯一的属性键。虽然初学者不常用,但它们在高级应用程序中很有用。


let symbol1 = Symbol("description");


7. BigInt

BigInt 类型允许表示大于 Number 类型范围的整数。当处理非常大的整数时,它特别有用。


let bigNumber = BigInt(123456789012345678901234567890);


非原始(参考)数据类型

非原始数据类型存储更复杂的数据结构和对象。它们被称为引用类型,因为变量存储对实际数据的引用。

1. 对象

对象是键值对的集合。它们允许您将多个相关值存储为属性。


let person = {
  name: "John",
  age: 30,
  isStudent: false
};
console.log(person.name);  // Outputs: John


2. 数组

数组是值(元素)的有序集合。数组可以在一个变量中存储多个值,并且这些值可以是任何数据类型。


let fruits = ["Apple", "Banana", "Cherry"];
console.log(fruits[1]);  // Outputs: Banana


3. 函数

函数是设计用于执行特定任务的代码块。在 JavaScript 中,函数本身被视为对象,允许它们作为参数传递或存储在变量中。


function greet() {
  console.log("Hello!");
}
greet();  // Outputs: Hello!



类型强制和动态类型

JavaScript 是动态类型,这意味着你不需要显式声明变量的类型。 JavaScript 会根据分配的值自动推断类型。例如:


let variable = "Hello";  // variable is of type string
variable = 42;           // variable is now of type number


此外,JavaScript 执行类型强制,这意味着它会在必要时自动将值从一种类型转换为另一种类型。


console.log("5"   10);  // Outputs: "510" (String concatenation)
console.log("5" - 1);   // Outputs: 4 (Number subtraction)


在第一个示例中,JavaScript 将 10 强制转换为字符串并将其与“5”连接起来。在第二个示例中,“5”被强制转换为数字以进行减法。


结论

理解变量和数据类型是学习 JavaScript 的基本步骤。变量允许您在程序中存储和管理数据,而数据类型定义您正在使用的数据类型,从字符串到数字、布尔值等等。

随着您继续学习 JavaScript,您将经常使用变量并使用各种数据类型来构建交互式动态 Web 应用程序。通过掌握如何操作这些数据类型,您将能够编写更高效、更有效的代码。

版本声明 本文转载于:https://dev.to/shieldstring/javascript-variables-and-data-types-storing-and-manipulating-data-in-javascript-ed?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • C++中如何将独占指针作为函数或构造函数参数传递?
    C++中如何将独占指针作为函数或构造函数参数传递?
    在构造函数和函数中将唯一的指数管理为参数 unique pointers( unique_ptr [2启示。通过值: base(std :: simelor_ptr n) :next(std :: move(n)){} 此方法将唯一指针的所有权转移到函数/对象。指针的内容被移至功能中,在操作...
    编程 发布于2025-07-12
  • 为什么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-07-12
  • 在JavaScript中如何并发运行异步操作并正确处理错误?
    在JavaScript中如何并发运行异步操作并正确处理错误?
    同意操作execution 在执行asynchronous操作时,相关的代码段落会遇到一个问题,当执行asynchronous操作:此实现在启动下一个操作之前依次等待每个操作的完成。要启用并发执行,需要进行修改的方法。 第一个解决方案试图通过获得每个操作的承诺来解决此问题,然后单独等待它们: co...
    编程 发布于2025-07-12
  • 如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    从python import codecs import codecs import codecs 导入 text = codecs.decode('这狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#带有...
    编程 发布于2025-07-12
  • 您如何在Laravel Blade模板中定义变量?
    您如何在Laravel Blade模板中定义变量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配变量对于存储以后使用的数据至关重要。在使用“ {{}}”分配变量的同时,它可能并不总是最优雅的解决方案。幸运的是,Blade通过@php Directive提供了更优雅的方法: $ old_section =“...
    编程 发布于2025-07-12
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中可能会遇到一个冲突,其中3派对软件包将另一个带有导入套件的path package the Imptioned package the Imptioned package the Imported tocted pac...
    编程 发布于2025-07-12
  • 解决MySQL插入Emoji时出现的\\"字符串值错误\\"异常
    解决MySQL插入Emoji时出现的\\"字符串值错误\\"异常
    Resolving Incorrect String Value Exception When Inserting EmojiWhen attempting to insert a string containing emoji characters into a MySQL database us...
    编程 发布于2025-07-12
  • 我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?
    我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?
    将我的加密库从mcrypt升级到openssl 问题:是否可以将我的加密库从McRypt升级到OpenSSL?如果是这样,如何?答案:是的,可以将您的Encryption库从McRypt升级到OpenSSL。可以使用openssl。附加说明: [openssl_decrypt()函数要求iv参...
    编程 发布于2025-07-12
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-07-12
  • 为什么尽管有效代码,为什么在PHP中捕获输入?
    为什么尽管有效代码,为什么在PHP中捕获输入?
    在php ;?>" method="post">The intention is to capture the input from the text box and display it when the submit button is clicked.但是,输出...
    编程 发布于2025-07-12
  • 如何有效地选择熊猫数据框中的列?
    如何有效地选择熊猫数据框中的列?
    在处理数据操作任务时,在Pandas DataFrames 中选择列时,选择特定列的必要条件是必要的。在Pandas中,选择列的各种选项。选项1:使用列名 如果已知列索引,请使用ILOC函数选择它们。请注意,python索引基于零。 df1 = df.iloc [:,0:2]#使用索引0和1 的 ...
    编程 发布于2025-07-12
  • 如何实时捕获和流媒体以进行聊天机器人命令执行?
    如何实时捕获和流媒体以进行聊天机器人命令执行?
    在开发能够执行命令的chatbots的领域中,实时从命令执行实时捕获Stdout,一个常见的需求是能够检索和显示标准输出(stdout)在cath cath cant cant cant cant cant cant cant cant interfaces in Chate cant inter...
    编程 发布于2025-07-12
  • Java是否允许多种返回类型:仔细研究通用方法?
    Java是否允许多种返回类型:仔细研究通用方法?
    在Java中的多个返回类型:一种误解类型:在Java编程中揭示,在Java编程中,Peculiar方法签名可能会出现,可能会出现,使开发人员陷入困境,使开发人员陷入困境。 getResult(string s); ,其中foo是自定义类。该方法声明似乎拥有两种返回类型:列表和E。但这确实是如此吗...
    编程 发布于2025-07-12
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-07-12
  • 如何有效地转换PHP中的时区?
    如何有效地转换PHP中的时区?
    在PHP 利用dateTime对象和functions DateTime对象及其相应的功能别名为时区转换提供方便的方法。例如: //定义用户的时区 date_default_timezone_set('欧洲/伦敦'); //创建DateTime对象 $ dateTime = ne...
    编程 发布于2025-07-12

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

Copyright© 2022 湘ICP备2022001581号-3