Skip to content

JavaScript

770字约3分钟

2024-11-16

JavaScript 是一种用于创建动态和交互式网页的编程语言。它是前端开发的核心技术之一,与 HTML 和 CSS 一起工作。以下是一个 JavaScript 综合语法教程,涵盖了基本语法、数据类型、控制结构、函数、对象、DOM 操作和 ES6+ 新特性等内容。


JavaScript 综合语法教程

一、基本语法

1. 变量声明

  • 使用 var

    var name = "Alice";
  • 使用 letconst

    let age = 30;
    const birthYear = 1990;

2. 数据类型

  • 原始数据类型

    let number = 42;          // Number
    let text = "Hello";       // String
    let isTrue = true;        // Boolean
    let undef = undefined;    // Undefined
    let empty = null;         // Null
  • 对象

    let person = {
        name: "Bob",
        age: 25
    };

3. 运算符

  • 算术运算符+, -, *, /, %
  • 比较运算符==, ===, !=, !==, >, <, >=, <=
  • 逻辑运算符&&, ||, !

二、控制结构

1. 条件语句

  • if 语句

    if (age > 18) {
        console.log("Adult");
    } else {
        console.log("Minor");
    }
  • switch 语句

    switch (day) {
        case 1:
            console.log("Monday");
            break;
        case 2:
            console.log("Tuesday");
            break;
        default:
            console.log("Other day");
    }

2. 循环语句

  • for 循环

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

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

三、函数

1. 函数声明

function greet(name) {
    return "Hello, " + name;
}

console.log(greet("Alice"));

2. 函数表达式

const greet = function(name) {
    return "Hello, " + name;
};

console.log(greet("Bob"));

3. 箭头函数

const greet = (name) => "Hello, " + name;

console.log(greet("Charlie"));

四、对象和数组

1. 对象

  • 创建和访问对象

    let car = {
        brand: "Toyota",
        model: "Corolla",
        year: 2020
    };
    
    console.log(car.brand); // Toyota
  • 修改对象

    car.year = 2021;
    car.color = "blue";

2. 数组

  • 创建和访问数组

    let fruits = ["Apple", "Banana", "Cherry"];
    console.log(fruits[0]); // Apple
  • 数组方法

    fruits.push("Durian"); // 添加元素
    fruits.pop();          // 删除最后一个元素

五、DOM 操作

1. 选择元素

  • 通过 ID

    let element = document.getElementById("header");
  • 通过类名

    let elements = document.getElementsByClassName("item");
  • 通过选择器

    let element = document.querySelector(".item");
    let elements = document.querySelectorAll(".item");

2. 修改元素

  • 修改内容和属性

    element.textContent = "New Content";
    element.setAttribute("class", "new-class");
  • 修改样式

    element.style.color = "red";
    element.style.fontSize = "20px";

六、事件处理

1. 添加事件监听器

let button = document.querySelector("button");
button.addEventListener("click", function() {
    alert("Button clicked!");
});

2. 移除事件监听器

function handleClick() {
    alert("Button clicked!");
}

button.addEventListener("click", handleClick);
button.removeEventListener("click", handleClick);

七、ES6+ 新特性

1. 模板字符串

let name = "Alice";
let greeting = `Hello, ${name}!`;
console.log(greeting);

2. 解构赋值

  • 数组解构

    let [a, b, c] = [1, 2, 3];
  • 对象解构

    let { name, age } = { name: "Alice", age: 25 };

3. 扩展运算符

  • 数组扩展

    let arr1 = [1, 2, 3];
    let arr2 = [...arr1, 4, 5];
  • 对象扩展

    let obj1 = { a: 1, b: 2 };
    let obj2 = { ...obj1, c: 3 };

4. Promise 和异步编程

  • Promise

    let promise = new Promise((resolve, reject) => {
        // 异步操作
        if (success) {
            resolve(result);
        } else {
            reject(error);
        }
    });
    
    promise.then(result => {
        console.log(result);
    }).catch(error => {
        console.error(error);
    });
  • async/await

    async function fetchData() {
        try {
            let response = await fetch('https://api.example.com/data');
            let data = await response.json();
            console.log(data);
        } catch (error) {
            console.error(error);
        }
    }
    
    fetchData();

通过这个综合教程,您可以掌握 JavaScript 的基本和高级用法,包括变量、数据类型、控制结构、函数、对象、DOM 操作、事件处理和 ES6+ 的新特性。JavaScript 是现代 Web 开发的核心技术之一,结合 HTML 和 CSS,您可以创建动态和交互式的 Web 应用。根据您的具体需求,您可以进一步探索 JavaScript 的其他高级特性和优化技巧。

贡献者: Yibz