JS基础

JavaScript 的基本语法是掌握前端开发的一个重要步骤。以下是关于这些基础知识的详细讲解,以及每一部分的示例。

变量

JavaScript 中有三种主要的变量声明方式:varletconst。了解它们的区别以及适用场景是非常重要的。

  • var: 是最早用于 JavaScript 中的变量声明方法。它的作用域是函数作用域,或者全局作用域。在块作用域中声明与不在块作用域声明无异。

    javascript 复制代码
    function example() {
        if (true) {
            var x = 5;
        }
        console.log(x);  // 输出 5
    }
    example();
  • let : 是 ES6 引入的一种声明变量的方法。它的作用域是块作用域,也就是说,只在 let 被定义的 {} 内有效。

    javascript 复制代码
    function example() {
        if (true) {
            let x = 5;
            console.log(x);  // 输出 5
        }
        console.log(x);  // 报错,变量 x 未定义
    }
    example();
  • const: 用于声明常量,一旦赋值后不能再更改。同样是块作用域。

    javascript 复制代码
    const y = 10;
    console.log(y); // 输出 10
    
    y = 20; // 报错,无法重新赋值给常量

控制结构

  • 条件语句 : 包括 if...elseswitch

    javascript 复制代码
    let num = 10;
    
    if (num > 0) {
        console.log("Positive number");
    } else {
        console.log("Non-positive number");
    }
    
    let fruit = "apple";
    
    switch (fruit) {
        case "banana":
            console.log("This is a banana.");
            break;
        case "apple":
            console.log("This is an apple.");
            break;
        default:
            console.log("Fruit not found.");
    }
  • 循环 : 包括 forwhiledo...while

    javascript 复制代码
    // 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);

函数

JavaScript 支持多种定义函数的方式。

  • 普通函数:

    javascript 复制代码
    function add(a, b) {
        return a + b;
    }
    
    console.log(add(2, 3));  // 输出 5
  • 匿名函数: 通常作为回调函数使用。

    javascript 复制代码
    const anonymous = function(a, b) {
        return a + b;
    };
    
    console.log(anonymous(2, 3));  // 输出 5
  • 立即执行函数(IIFE):

    javascript 复制代码
    (function() {
        console.log("This is an IIFE");
    })();
  • 箭头函数 (ES6):

    javascript 复制代码
    const multiply = (a, b) => a * b;
    console.log(multiply(2, 3)); // 输出 6

对象

  • 创建对象: 包括字面量方式和构造函数方式。

    javascript 复制代码
    // 字面量方式
    const person = {
        name: "John",
        age: 30,
        greet: function() {
            console.log("Hello, " + this.name);
        }
    };
    person.greet();
    
    // 构造函数方式
    function Person(name='Jame', age) {
        this.name = 'name-'+name;
        this.age = 'age-'+age;
    }
    const person1 = new Person("Alice", 25);
    console.log(person1.name)
  • 访问和修改属性:

    javascript 复制代码
    console.log(person.name);  // 输出 "John"
    person.age = 35;
    console.log(person.age);   // 输出 35

数组

  • 数组操作:

    javascript 复制代码
    const fruits = ["apple", "banana", "cherry"];
    
    // 添加元素
    fruits.push("date");
    console.log(fruits); // ["apple", "banana", "cherry", "date"]
    
    // 删除元素
    fruits.pop();
    console.log(fruits); // ["apple", "banana", "cherry"]
    
    // 遍历数组
    fruits.forEach((fruit) => console.log(fruit));
  • 常用数组方法:

    • map: 创建一个新数组,其结果是对原数组中的每个元素调用一个提供的函数后返回的结果。

      javascript 复制代码
      const numbers = [1, 2, 3, 4];
      const doubled = numbers.map(number => number * 2);
      console.log(doubled); // [2, 4, 6, 8]
    • filter: 创建一个新数组,包含所有通过测试的元素。

      javascript 复制代码
      const evens = numbers.filter(number => number % 2 === 0);
      console.log(evens); // [2, 4]
    • reduce: 对数组包含的每个值应用一个函数,将其归并为单个值。

      javascript 复制代码
      const sum = numbers.reduce((total, number) => total + number, 0);
      console.log(sum); // 10
相关推荐
JinSo15 分钟前
pnpm monorepo 联调:告别 --global 参数
前端·github·代码规范
程序员码歌22 分钟前
豆包Seedream4.0深度体验:p图美化与文生图创作
android·前端·后端
urhero26 分钟前
工作事项管理小工具——HTML版
前端·html·实用工具·工作事项跟踪·任务跟踪小工具·本地小程序
二十雨辰27 分钟前
eduAi-智能体创意平台
前端·vue.js
golang学习记36 分钟前
从0死磕全栈之Next.js connection() 函数详解:强制动态渲染的正确姿势(附实战案例)
前端
郝学胜-神的一滴42 分钟前
Three.js光照技术详解:为3D场景注入灵魂
开发语言·前端·javascript·3d·web3·webgl
m0dw1 小时前
vue懒加载
前端·javascript·vue.js·typescript
国家不保护废物1 小时前
手写 Vue Router,揭秘路由背后的魔法!🔮
前端·vue.js
菜鸟‍2 小时前
【前端学习】仿Deepseek官网AI聊天网站React
前端·学习·react.js
小光学长2 小时前
基于Vue的保护动物信息管理系统r7zl6b88 (程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js