跳转至

JavaScript 基础:变量与数据类型

在本章中,我们将学习 JavaScript 中的变量声明和基本数据类型。变量是存储数据的容器,而数据类型则决定了变量可以存储什么样的数据。理解这些概念是掌握 JavaScript 的基础。

1. 变量声明

在 JavaScript 中,变量用于存储数据。我们可以使用 var、let 或 const 关键字来声明变量。

1.1 var 关键字

var 是 JavaScript 中最早用于声明变量的关键字。它声明的变量是函数作用域的。

// 使用 var 声明变量
var name = "Alice";
console.log(name); // 输出: Alice

1.2 let 关键字

let 是 ES6 引入的关键字,用于声明块作用域的变量。与 var 不同,let 声明的变量只在声明它的块内有效。

// 使用 let 声明变量
let age = 25;
console.log(age); // 输出: 25

1.3 const 关键字

const 也是 ES6 引入的关键字,用于声明常量。常量一旦声明,其值就不能被重新赋值。

// 使用 const 声明常量
const PI = 3.14159;
console.log(PI); // 输出: 3.14159

2. 数据类型

JavaScript 是一种动态类型语言,这意味着变量的数据类型可以在运行时改变。JavaScript 中有以下几种基本数据类型:

2.1 数字(Number)

数字类型用于表示整数和浮点数。

// 数字类型
let integer = 42;
let float = 3.14;
console.log(integer); // 输出: 42
console.log(float);   // 输出: 3.14

2.2 字符串(String)

字符串类型用于表示文本数据。字符串可以用单引号、双引号或反引号括起来。

// 字符串类型
let greeting = "Hello, World!";
let name = 'Alice';
let message = `Hello, ${name}!`; // 使用模板字符串
console.log(greeting); // 输出: Hello, World!
console.log(message);  // 输出: Hello, Alice!

2.3 布尔值(Boolean)

布尔类型只有两个值:true 和 false,通常用于条件判断。

// 布尔类型
let isJavaScriptFun = true;
let isLearningEasy = false;
console.log(isJavaScriptFun); // 输出: true
console.log(isLearningEasy);  // 输出: false

2.4 undefined 和 null

undefined 表示变量已声明但未赋值,而 null 表示变量没有值。

// undefined 和 null
let unassignedVar;
let emptyVar = null;
console.log(unassignedVar); // 输出: undefined
console.log(emptyVar);      // 输出: null

2.5 对象(Object)

对象是键值对的集合,用于存储复杂的数据结构。

// 对象类型
let person = {
    name: "Alice",
    age: 25,
    isStudent: true
};
console.log(person.name); // 输出: Alice
console.log(person.age);  // 输出: 25

2.6 数组(Array)

数组是一种特殊的对象,用于存储有序的数据集合。

// 数组类型
let fruits = ["Apple", "Banana", "Cherry"];
console.log(fruits[0]); // 输出: Apple
console.log(fruits[1]); // 输出: Banana

3. 类型转换

JavaScript 是一种弱类型语言,这意味着在某些情况下,JavaScript 会自动进行类型转换。

3.1 隐式类型转换

// 隐式类型转换
let num = 5;
let str = "10";
let result = num + str; // 数字 5 被转换为字符串 "5",然后与 "10" 拼接
console.log(result); // 输出: "510"

3.2 显式类型转换

// 显式类型转换
let strNum = "42";
let intNum = parseInt(strNum); // 将字符串转换为整数
console.log(intNum); // 输出: 42

4. 练习题

4.1 简单练习

  1. 声明一个变量 name 并赋值为你的名字,然后打印出来。
  2. 声明一个常量 PI 并赋值为 3.14159,然后打印出来。

4.2 中等练习

  1. 创建一个包含你最喜欢的三种颜色的数组,并打印出第二个颜色。
  2. 创建一个对象 car,包含属性 brand、model 和 year,然后打印出 model。

4.3 复杂练习

  1. 编写一个程序,将两个数字相加,并将结果转换为字符串后打印出来。
  2. 编写一个程序,创建一个包含多个对象的数组,每个对象代表一个人,包含 name 和 age 属性,然后打印出所有人的名字。

5. 总结

在本章中,我们学习了 JavaScript 中的变量声明和基本数据类型。以下是关键点总结:

  • 变量可以使用 var、let 或 const 关键字声明。
  • let 和 const 是块作用域的,而 var 是函数作用域的。
  • JavaScript 的基本数据类型包括数字、字符串、布尔值、undefined、null、对象和数组。
  • JavaScript 是动态类型语言,支持隐式和显式类型转换。

通过掌握这些基础知识,你将能够更好地理解和编写 JavaScript 代码。继续练习和探索,你将很快成为一名熟练的 JavaScript 开发者!