Skip to content

JavaScript 基础知识

更新: 8/6/2025 字数: 0 字 时长: 0 分钟

变量和数据类型

JavaScript 中的变量声明方式有三种:varletconst

js
// var - 函数作用域
var name = 'Jensen';

// let - 块级作用域
let age = 25;

// const - 常量,不可重新赋值
const PI = 3.14159;

基本数据类型

JavaScript 有以下基本数据类型:

  • String:字符串
  • Number:数字
  • Boolean:布尔值
  • Null:空值
  • Undefined:未定义
  • Symbol:符号 (ES6)
  • BigInt:大整数 (ES2020)

引用数据类型

  • Object:对象
  • Array:数组
  • Function:函数
  • Date:日期
  • RegExp:正则表达式

运算符

算术运算符

js
let a = 10;
let b = 5;

let sum = a + b;      // 加法: 15
let difference = a - b; // 减法: 5
let product = a * b;   // 乘法: 50
let quotient = a / b;  // 除法: 2
let remainder = a % b; // 取余: 0
let power = a ** b;    // 幂运算: 100000

比较运算符

js
a > b;   // 大于: true
a < b;   // 小于: false
a >= b;  // 大于等于: true
a <= b;  // 小于等于: false
a == b;  // 等于(值相等): false
a === b; // 严格等于(值和类型都相等): false
a != b;  // 不等于: true
a !== b; // 严格不等于: true

条件语句

js
if (condition) {
  // 条件为真时执行
} else if (anotherCondition) {
  // 另一个条件为真时执行
} else {
  // 所有条件都为假时执行
}

// 三元运算符
let result = condition ? valueIfTrue : valueIfFalse;

循环

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

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

// do-while 循环
i = 0;
do {
  console.log(i);
  i++;
} while (i < 5);

// for...of 循环(遍历可迭代对象的值)
const array = [1, 2, 3];
for (const value of array) {
  console.log(value);
}

// for...in 循环(遍历对象的属性)
const object = { a: 1, b: 2 };
for (const key in object) {
  console.log(key, object[key]);
}

函数

js
// 函数声明
function greet(name) {
  return `Hello, ${name}!`;
}

// 函数表达式
const greet = function(name) {
  return `Hello, ${name}!`;
};

// 箭头函数 (ES6)
const greet = (name) => {
  return `Hello, ${name}!`;
};

// 简化的箭头函数
const greet = name => `Hello, ${name}!`;

对象

js
// 对象字面量
const person = {
  name: 'Jensen',
  age: 25,
  greet: function() {
    return `Hello, my name is ${this.name}`;
  }
};

// 访问对象属性
console.log(person.name);       // 点表示法
console.log(person['name']);    // 括号表示法

// 对象方法
console.log(person.greet());

数组

js
// 数组字面量
const fruits = ['Apple', 'Banana', 'Cherry'];

// 访问数组元素
console.log(fruits[0]); // 'Apple'

// 数组方法
fruits.push('Date');        // 添加到末尾
fruits.pop();               // 移除末尾元素
fruits.unshift('Apricot');  // 添加到开头
fruits.shift();             // 移除开头元素
fruits.slice(1, 3);         // 返回子数组 [1,3)
fruits.splice(1, 1, 'Blueberry'); // 删除并替换元素
fruits.forEach(fruit => console.log(fruit)); // 遍历数组

错误处理

js
try {
  // 可能会抛出错误的代码
  throw new Error('Something went wrong');
} catch (error) {
  // 处理错误
  console.error(error.message);
} finally {
  // 无论是否有错误都会执行
  console.log('Cleanup code');
}