云计算百科
云计算领域专业知识百科平台

JS编程核心:从变量到异步全解析

一、变量与数据类型

  • 变量声明

    • let:块级作用域
    • const:常量(不可重新赋值)
    • var:函数作用域(存在变量提升)

    let a = 10;
    const PI = 3.14;
    var b = "hello";

  • 数据类型

    • 基本类型:Number, String, Boolean, null, undefined, Symbol
    • 引用类型:Object(含Array, Function等)
    • 类型检测:

      typeof 42; // "number"
      typeof [1,2]; // "object"
      Array.isArray([1,2]); // true


  • 二、运算符与类型转换

  • 相等判断

    • ==:隐式类型转换(1 == '1' → true)
    • ===:严格相等(类型和值均需相同)
  • 类型转换

    Number("123"); // 123
    String(123); // "123"
    Boolean(0); // false


  • 三、流程控制

  • 条件语句

    if (score > 90) {
    console.log("A");
    } else if (score > 60) {
    console.log("B");
    } else {
    console.log("C");
    }

    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzE3OC5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzUwMy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzQzNy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzM1Ny5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzI3MS5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzI4NS5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzQ2My5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzYxMS5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzYxMy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzYxNy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzU3Ni5zaHRtbA==.html
     

  • 循环语句

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

    let arr = [10, 20, 30];
    arr.forEach(item => console.log(item));


  • 四、函数

  • 函数定义

    function add(a, b) {
    return a + b;
    }

    // 箭头函数
    const multiply = (a, b) => a * b;

  • 作用域与闭包

    function outer() {
    let x = 10;
    return function inner() {
    return x * 2; // 闭包访问外部变量
    };
    }


  • 五、对象与原型

  • 对象创建

    let person = {
    name: "Alice",
    age: 30,
    greet() {
    console.log(`Hello, ${this.name}!`);
    }
    };

    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzE3OC5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzUwMy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzQzNy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzM1Ny5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzI3MS5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzI4NS5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzQ2My5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzYxMS5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzYxMy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzYxNy5zaHRtbA==.html
    https://tv.sohu.com/v/dXMvNDQyMDkzMDExLzY5NTk0NzU3Ni5zaHRtbA==.html
     

  • 原型链

    function Animal(name) {
    this.name = name;
    }
    Animal.prototype.speak = function() {
    console.log(`${this.name} makes a sound.`);
    };


  • 六、数组操作

    let nums = [1, 2, 3];

    // 增删元素
    nums.push(4); // [1,2,3,4]
    nums.pop(); // [1,2,3]

    // 高阶函数
    nums.map(x => x * 2); // [2,4,6]
    nums.filter(x => x > 1); // [2,3]


    七、异步处理

  • Promise

    fetchData()
    .then(data => processData(data))
    .catch(error => console.error(error));

  • async/await

    async function loadData() {
    try {
    const data = await fetchData();
    console.log(data);
    } catch (error) {
    console.error(error);
    }
    }


  • 八、练习题目

  • 实现函数:将字符串反转(如"hello" → "olleh")
  • 用reduce计算数组[1,2,3,4]的平均值
  • 解释以下代码输出:

    for (var i = 0; i < 3; i++) {
    setTimeout(() => console.log(i), 100);
    }


  • 提示:可通过浏览器控制台或Node.js环境运行代码验证结果。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » JS编程核心:从变量到异步全解析
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!