返回

JS实用篇复习笔记(2)

前端

深入探索 JavaScript:基础、数据类型和语句

JavaScript 是一种流行的编程语言,用于创建交互式网页和移动应用程序。理解其基本概念对于有效地使用 JavaScript 至关重要。本文将深入探讨 JavaScript 变量、数据类型、运算符、条件语句和循环语句,为您提供在 JavaScript 世界中构建强大应用程序所需的基础知识。

JavaScript 变量

变量用于存储和操作数据。在 JavaScript 中,变量使用 varletconst 声明。var 声明的变量是全局变量,可以在脚本的任何位置访问。let 声明的变量是局部变量,仅在声明它们的代码块内可见。const 声明的变量是常量,一旦声明就不能更改。

// var 声明的全局变量
var age = 25;

// let 声明的局部变量
function myFunction() {
  let name = "John";
}

// const 声明的常量
const PI = 3.14;

JavaScript 数据类型

JavaScript 中的数据类型分为基本类型和引用类型。基本类型包括:

  • 数字number):表示数字值。
  • 字符串string):表示文本值。
  • 布尔值boolean):表示 true 或 false 值。
  • undefined :表示未初始化或不存在的值。
  • null :表示故意设置的空值。

引用类型包括:

  • 对象object):表示具有属性和方法的实体。
  • 数组array):表示一个有序集合的元素。
  • 函数function):表示可重复使用的代码块。
// 数字
let number = 10;

// 字符串
let string = "Hello World";

// 布尔值
let bool = true;

// undefined
let undefinedVariable;

// null
let nullVariable = null;

// 对象
let person = { name: "John", age: 25 };

// 数组
let numbers = [1, 2, 3, 4, 5];

// 函数
function myFunction() {
  console.log("Hello World");
}

JavaScript 运算符

JavaScript 提供了多种运算符,用于执行各种操作。运算符包括:

  • 算术运算符 :用于执行算术运算,例如加法 (+)、减法 (-)、乘法 (*) 和除法 (/)。
  • 赋值运算符 :用于给变量赋值,例如赋值 (=)、加等于 (+=) 和减等于 (-=)。
  • 比较运算符 :用于比较两个值,例如等于 (==)、严格等于 (===)、不等于 (!=) 和严格不等于 (!==)。
  • 逻辑运算符 :用于连接两个布尔值,例如与 (&&)、或 (||) 和非 (!)。
  • 位运算符 :用于对二进制位进行操作,例如与 (&)、或 (|) 和异或 (^)。
// 算术运算符
let result = 10 + 5; // 15

// 赋值运算符
let number = 10;
number += 5; // 15

// 比较运算符
if (number === 15) {
  console.log("Number is 15");
}

// 逻辑运算符
if (number > 10 && number < 20) {
  console.log("Number is between 10 and 20");
}

// 位运算符
let bitwiseResult = 10 & 5; // 0

JavaScript 条件语句

条件语句用于根据条件执行代码块。JavaScript 中的条件语句包括:

  • if 语句 :如果条件为 true,则执行代码块。
  • else if 语句 :如果第一个条件为 false,并且第二个条件为 true,则执行代码块。
  • else 语句 :如果所有其他条件均为 false,则执行代码块。
if (number > 10) {
  console.log("Number is greater than 10");
} else if (number < 10) {
  console.log("Number is less than 10");
} else {
  console.log("Number is 10");
}

JavaScript 循环语句

循环语句用于重复执行一段代码块。JavaScript 中的循环语句包括:

  • while 循环 :只要条件为 true,就重复执行代码块。
  • do while 循环 :至少执行一次代码块,然后只要条件为 true,就重复执行代码块。
  • for 循环 :使用一个计数器来重复执行代码块,直到计数器达到指定值。
// while 循环
let number = 0;
while (number < 10) {
  console.log(number);
  number++;
}

// do while 循环
do {
  console.log(number);
  number++;
} while (number < 10);

// for 循环
for (let i = 0; i < 10; i++) {
  console.log(i);
}

JavaScript 函数

函数用于封装可重复使用的代码块。函数使用 function 关键字声明,后跟函数名和一对括号。括号内是函数的参数,函数体用一对花括号括起来。

function myFunction(name) {
  console.log(`Hello ${name}`);
}

myFunction("John"); // 输出:Hello John

JavaScript 对象

对象用于存储数据和方法。对象使用一对花括号括起来,花括号内是一对键值对。键是对象的属性名,值是对象的属性值。

let person = {
  name: "John",
  age: 25,
  greet: function () {
    console.log(`Hello, my name is ${this.name}`);
  }
};

person.greet(); // 输出:Hello, my name is John

JavaScript 数组

数组用于存储一个有序集合的元素。数组使用一对方括号括起来,方括号内是数组元素。数组元素可以是任何类型的数据。

let numbers = [1, 2, 3, 4, 5];

for (let number of numbers) {
  console.log(number);
}

// 输出:
// 1
// 2
// 3
// 4
// 5

常见问题解答

1. 如何在 JavaScript 中获取变量的类型?

使用 typeof 运算符。例如:

console.log(typeof number); // 输出:number

**2. JavaScript 中的严格相等 (===) 和松散相等 (==) 有什么区别?**

严格相等比较两个值,不仅值相同,而且类型也相同。松散相等只比较两个值是否相同,不考虑类型。

3. JavaScript 中的 undefined 和 null 有什么区别?

undefined 表示一个变量未被赋值。null 表示一个变量被明确设置为一个空值。

4. JavaScript 中的 forEach() 和 map() 方法有什么区别?

forEach() 方法对数组中的每个元素执行一个函数,不返回任何值。map() 方法对数组中的每个元素执行一个函数,并返回一个新数组,其中每个元素是函数返回的值。

5. 如何在 JavaScript 中创建多行字符串?

使用反引号 (`)。例如:

let multilineString = `
Line 1
Line 2
Line 3
`;