JavaScript基础语法与变量——存储数据的容器

JavaScript基础语法与变量,深入学习JavaScript语法与变量的关系,数据存储的意义。

程序的核心是处理数据。而要处理数据,首先需要将数据“存放”起来。在JavaScript中,我们使用“变量”作为存储数据的容器进行更深入的学习。

下面将教你如何创建和使用这些容器。

1. 变量是什么?

你可以把变量想象成一个贴有标签的盒子。

  • 变量名就是盒子上的标签。
  • 变量值就是盒子里面存放的东西(数据)。

    通过使用变量名,我们可以轻松地访问和修改盒子里的数据,而无需关心数据具体存储在计算机的哪个位置。

2. 声明变量:letconst

在JavaScript中,我们使用关键字来“声明”(创建)一个变量。现代JavaScript(ES6及以后版本)主要使用 letconst

使用 let声明变量

let用于声明一个值可以改变的变量。

// 声明一个名为 message 的变量
let message;

// 使用赋值运算符 = 为变量赋值
message = "你好,JavaScript!";

// 现在可以访问变量
console.log(message); // 输出:你好,JavaScript!

// 可以改变变量的值
message = "数据被更新了!";
console.log(message); // 输出:数据被更新了!

// 也可以在声明时直接赋值(通常这样做)
let age = 25;

使用 const声明常量

const用于声明一个常量,一旦赋值,其值就不能再改变

// 声明一个常量
const birthYear = 1990;

console.log(birthYear); // 输出:1990

// 尝试修改常量会导致错误!
// birthYear = 2000; // 这行代码会报错:TypeError

为什么应该避免使用 var?​

在ES6之前,使用 var关键字声明变量。但它存在一些设计上的缺陷(如“变量提升”和没有块级作用域),容易导致意想不到的bug。在现代开发中,建议默认使用 const,只有当你知道这个变量的值需要被重新赋值时,才使用 let

3. 数据类型

变量可以存储不同类型的数据。JavaScript是一种“动态类型”语言,这意味着同一个变量可以被重新赋值为不同类型的值。最基本的数据类型有:

  • String(字符串):​​ 表示文本数据,用单引号或双引号包裹。
    let name = "张三";
    let greeting = 'Hello';
  • Number(数字):​​ 表示整数或浮点数(小数)。
    let integer = 100;
    let price = 99.99;
  • Boolean(布尔值):​​ 只有两个值:true(真)或 false(假),常用于条件判断。
    let isLoggedIn = true;
    let isEmpty = false;
  • undefined(未定义):​​ 一个变量已被声明但未被赋值时,它的值就是 undefined
    let x;
    console.log(x); // 输出:undefined
  • null(空值):​​ 表示“空”或“无值”,通常由程序员主动赋值,表示一个空对象引用。
    let emptyValue = null;

使用 typeof操作符检测数据类型

console.log(typeof "Hello");    // 输出: "string"
console.log(typeof 42);         // 输出: "number"
console.log(typeof true);       // 输出: "boolean"
console.log(typeof undefined);  // 输出: "undefined"
console.log(typeof null);       // 输出: "object" (这是JavaScript设计上的一个历史遗留bug,null实际上是原始类型)

4. 实战练习

打开浏览器的控制台,尝试以下操作:

  1. const声明一个常量 myName,并赋值为你的名字。
  2. let声明一个变量 myAge,并赋值为你的年龄。
  3. 使用 console.log打印出这两个变量。
  4. 尝试修改 myAge变量的值,并再次打印。
  5. 使用 typeof检查这些变量的类型。
const myName = "你的名字";
let myAge = 你的年龄;
console.log(myName, myAge);
console.log(typeof myName, typeof myAge);

myAge = myAge + 1; // 年龄加一岁
console.log("明年我就" + myAge + "岁了");

总结

变量是存储数据的容器,使用 letconst进行声明。了解不同的数据类型是正确操作数据的基础。

发表评论