返回

自检清单——JS基础之变量与类型

前端

JS 变量和类型:初学者的全面指南

JavaScript 作为一种无处不在的脚本语言,为构建交互式网络应用程序奠定了基础。对于初学者来说,掌握变量和类型是至关重要的,因为它们构成了 JS 编程的基础。

变量:存储信息的基础

变量就像容器,可以存储你想要在程序中处理的信息。为了使用变量,你需要使用关键词 letconst 进行声明。let 声明的变量可以重新赋值,而 const 声明的变量则不能。例如:

// 使用 let 声明变量
let name = "John";

// 使用 const 声明常量
const PI = 3.14;

变量类型:不同数据类型的分类

JS 中有各种变量类型,包括:

  • 布尔类型 (Boolean) :只可以取 truefalse
  • 数字类型 (Number) :可以是整数、小数或无穷大 (Infinity-Infinity)。
  • 字符串类型 (String) :由一个或多个字符组成的文本。
  • 对象类型 (Object) :可以包含键值对 (属性) 的集合。

例如:

let isLoggedIn = true; // 布尔类型
let age = 25; // 数字类型
let name = "Jane"; // 字符串类型
let person = { name: "John", age: 30 }; // 对象类型

操作符:操作变量的工具

JS 提供了各种操作符,用于执行数学运算、字符串连接、赋值等。最常用的操作符包括:

  • 加号 (+) : 用于数值加法或字符串连接。
  • 减号 (-) : 用于数值减法。
  • 乘号 (*) : 用于数值乘法。
  • 除号 (/) : 用于数值除法。
  • 等号 (=) : 用于赋值。
  • 相等操作符 (==) : 用于比较两个值是否相等。
  • 严格相等操作符 (===) : 用于比较两个值是否相等,且类型必须相同。

例如:

let num1 = 10;
let num2 = 5;

console.log(num1 + num2); // 输出:15 (数值加法)
console.log("Hello" + "World"); // 输出:"HelloWorld" (字符串连接)

比较操作符:比较变量的大小和相等性

JS 中的比较操作符用于比较两个值的大小或相等性。最常用的比较操作符包括:

  • 等于 (==) : 比较两个值是否相等。
  • 不等于 (!=) : 比较两个值是否不相等。
  • 大于 (>) : 比较两个值,前者是否大于后者。
  • 大于或等于 (>=) : 比较两个值,前者是否大于或等于后者。
  • 小于 (<) : 比较两个值,前者是否小于后者。
  • 小于或等于 (<=) : 比较两个值,前者是否小于或等于后者。

例如:

let num1 = 10;
let num2 = 5;

console.log(num1 > num2); // 输出:true (num1 大于 num2)
console.log(num1 == num2); // 输出:false (num1 不等于 num2)

判断变量类型:了解 typeof

你可以使用 typeof 操作符来判断变量的类型。此操作符返回一个字符串,表示变量的类型。例如:

console.log(typeof 123); // 输出:"number"
console.log(typeof "hello"); // 输出:"string"
console.log(typeof true); // 输出:"boolean"

常见问题:新手陷阱

在学习 JS 的变量和类型时,你可能会遇到一些常见的陷阱。

  • 未声明变量 : 使用变量之前必须先声明它。否则,它将引发 ReferenceError 异常。
  • 变量类型不匹配 : 在给变量赋值时,请确保赋值的类型与变量的类型相同。否则,可能会出现意外结果。
  • 使用未定义的变量 : 在使用变量之前,请确保它已赋值。否则,它将引发 ReferenceError 异常。

结论:掌握基础

通过理解变量和类型,你已迈出了掌握 JS 的第一步。继续练习,你将很快掌握这些基本概念,并能够自信地构建交互式 web 应用程序。

常见问题解答

1. 如何在不使用 letconst 的情况下声明变量?

早期版本的 JS 使用 var 声明变量,但现在不推荐使用。

2. 除了你提到的类型之外,JS 中还有其他变量类型吗?

是的,还有 SymbolBigIntundefined 等其他类型。

3. 如何比较两个对象的相等性?

你可以使用 Object.is 方法严格比较两个对象,或使用 ===== 运算符,但结果可能不一致。

4. 除了 typeof 之外,还有其他方法可以判断变量的类型吗?

你可以使用 instanceof 运算符来检查变量是否属于某个特定的类或对象。

5. 如何防止变量在严格模式下重新赋值?

在严格模式下,使用 const 关键字声明变量,或使用 Object.freeze 方法冻结对象。