」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > JavaScript 變數和資料類型:在 JavaScript 中儲存和操作資料。

JavaScript 變數和資料類型:在 JavaScript 中儲存和操作資料。

發佈於2024-11-08
瀏覽:983

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]刪除
最新教學 更多>
  • CSS強類型語言解析
    CSS強類型語言解析
    您可以通过其强度或弱输入的方式对编程语言进行分类的方式之一。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串: result = 1 "1";包含整数的字符串可能是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可以是故意从单个真理...
    程式設計 發佈於2025-07-13
  • 同實例無需轉儲複製MySQL數據庫方法
    同實例無需轉儲複製MySQL數據庫方法
    在同一實例上複製一個MySQL數據庫而無需轉儲在同一mySQL實例上複製數據庫,而無需創建InterMediate sqql script。以下方法為傳統的轉儲和IMPORT過程提供了更簡單的替代方法。 直接管道數據 MySQL手動概述了一種允許將mysqldump直接輸出到MySQL cli...
    程式設計 發佈於2025-07-13
  • Java是否允許多種返回類型:仔細研究通用方法?
    Java是否允許多種返回類型:仔細研究通用方法?
    在Java中的多個返回類型:一種誤解類型:在Java編程中揭示,在Java編程中,Peculiar方法簽名可能會出現,可能會出現,使開發人員陷入困境,使開發人員陷入困境。 getResult(string s); ,其中foo是自定義類。該方法聲明似乎擁有兩種返回類型:列表和E。但這確實是如此嗎...
    程式設計 發佈於2025-07-13
  • 為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    在Microsoft Visual C 中,Microsoft consions用戶strate strate strate strate strate strate strate strate strate strate strate strate strate strate strate st...
    程式設計 發佈於2025-07-13
  • 為什麼儘管有效代碼,為什麼在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-13
  • 用戶本地時間格式及時區偏移顯示指南
    用戶本地時間格式及時區偏移顯示指南
    在用戶的語言環境格式中顯示日期/時間,並使用時間偏移在向最終用戶展示日期和時間時,以其localzone and格式顯示它們至關重要。這確保了不同地理位置的清晰度和無縫用戶體驗。以下是使用JavaScript實現此目的的方法。 方法:推薦方法是處理客戶端的Javascript中的日期/時間格式化和...
    程式設計 發佈於2025-07-13
  • C++20 Consteval函數中模板參數能否依賴於函數參數?
    C++20 Consteval函數中模板參數能否依賴於函數參數?
    [ consteval函數和模板參數依賴於函數參數在C 17中,模板參數不能依賴一個函數參數,因為編譯器仍然需要對非contexexpr futcoriations contim at contexpr function進行評估。 compile time。 C 20引入恆定函數,必須在編譯時進...
    程式設計 發佈於2025-07-13
  • 我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    將我的加密庫從mcrypt升級到openssl 問題:是否可以將我的加密庫從McRypt升級到OpenSSL?如果是這樣,如何? 答案:是的,可以將您的Encryption庫從McRypt升級到OpenSSL。 可以使用openssl。 附加說明: [openssl_decrypt()函數要求...
    程式設計 發佈於2025-07-13
  • 如何使用不同數量列的聯合數據庫表?
    如何使用不同數量列的聯合數據庫表?
    合併列數不同的表 當嘗試合併列數不同的數據庫表時,可能會遇到挑戰。一種直接的方法是在列數較少的表中,為缺失的列追加空值。 例如,考慮兩個表,表 A 和表 B,其中表 A 的列數多於表 B。為了合併這些表,同時處理表 B 中缺失的列,請按照以下步驟操作: 確定表 B 中缺失的列,並將它們添加到表的...
    程式設計 發佈於2025-07-13
  • 人臉檢測失敗原因及解決方案:Error -215
    人臉檢測失敗原因及解決方案:Error -215
    錯誤處理:解決“ error:((-215)!empty()in Function Multultiscale中的“ openCV 要解決此問題,必須確保提供給HAAR CASCADE XML文件的路徑有效。在提供的代碼片段中,級聯分類器裝有硬編碼路徑,這可能對您的系統不准確。相反,OPENCV提...
    程式設計 發佈於2025-07-13
  • 如何使用PHP從XML文件中有效地檢索屬性值?
    如何使用PHP從XML文件中有效地檢索屬性值?
    從php $xml = simplexml_load_file($file); foreach ($xml->Var[0]->attributes() as $attributeName => $attributeValue) { echo $attributeName,...
    程式設計 發佈於2025-07-13
  • 圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    在chrome 在使用Chrome and IE9中的圖像時遇到的一個頻繁的問題是圍繞圖像的持續薄薄邊框,儘管指定了圖像,儘管指定了;和“邊境:無;”在CSS中。要解決此問題,請考慮以下方法: Chrome具有忽略“ border:none; none;”的已知錯誤,風格。要解決此問題,請使用以下...
    程式設計 發佈於2025-07-13
  • 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-07-13
  • PHP未來:適應與創新
    PHP未來:適應與創新
    PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。 引言在編程世界中,PHP一直是網頁開發的中流砥柱。作為一個從1994年就開始發展...
    程式設計 發佈於2025-07-13

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3