1. 什么是 JavaScriptJavaScript简称 JS是一种轻量级、解释型或即时编译的编程语言主要用于为网页添加交互功能。它与 HTML 和 CSS 并称为 Web 开发的三大核心技术。客户端脚本语言主要在浏览器中运行用于处理用户交互、动态更新内容、控制多媒体等。单线程 事件驱动采用单线程模型通过事件循环Event Loop处理异步操作。跨平台几乎所有现代浏览器都内置了 JavaScript 引擎无需额外安装。2. 基础语法与数据类型2.1 变量声明JavaScript 提供了三种声明变量的方式// 1. var (函数作用域存在变量提升) var name Alice; // 2. let (块级作用域可重新赋值) let age 25; age 26; // 3. const (块级作用域常量不可重新赋值) const PI 3.14159;2.2 数据类型JavaScript 是动态类型语言数据类型分为两大类原始类型Primitive Types存储在栈内存按值访问。String字符串如HelloNumber数字包括整数和浮点数Boolean布尔值true或falseUndefined未定义变量声明但未赋值Null空值引用类型Reference Types存储在堆内存按引用访问。Object对象包括数组、函数、日期等Array数组Function函数3. 运算符与流程控制3.1 常用运算符// 算术运算符 let sum 10 5; // 15 let product 10 * 5; // 50 // 比较运算符 console.log(10 10); // true (宽松相等) console.log(10 10); // false (严格相等) // 逻辑运算符 let isAdult age 18 hasID; // 与 let hasPermission isAdmin || isSuperUser; // 或 let isNotReady !isReady; // 非3.2 条件语句// if...else let score 85; if (score 90) { console.log(优秀); } else if (score 60) { console.log(及格); } else { console.log(不及格); } // switch let day Monday; switch (day) { case Monday: console.log(工作日开始); break; case Saturday: case Sunday: console.log(周末); break; default: console.log(其他工作日); }3.3 循环语句// for 循环 for (let i 0; i 5; i) { console.log(i); } // while 循环 let count 0; while (count 3) { console.log(count); count; } // for...of (遍历可迭代对象) let fruits [apple, banana, orange]; for (let fruit of fruits) { console.log(fruit); }4. 函数4.1 函数定义与调用// 函数声明 function greet(name) { return Hello, ${name}!; } // 函数表达式 const multiply function(a, b) { return a * b; }; // 箭头函数 (ES6) const add (a, b) a b; // 调用函数 console.log(greet(World)); // Hello, World! console.log(multiply(3, 4)); // 12 console.log(add(5, 7)); // 124.2 函数参数函数参数可以初始化当实参多于型参时多余的实参被忽略当形参多于实参时自动填undefined// 默认参数 function createUser(name, age 18) { return { name, age }; } // 剩余参数 function sum(...numbers) { return numbers.reduce((total, num) total num, 0); } console.log(sum(1, 2, 3, 4)); // 105. 对象与数组5.1 对象一般用const声明const 只锁住「变量的引用地址」不会锁住内部数据数组、对象属于引用类型 变量里存的并不是数组本身仅仅是数组在堆内存的地址。// 对象字面量 const person { name: 张三, age: 30, hobbies: [读书, 编程], greet: function() { console.log(你好我是${this.name}); } }; // 访问属性 console.log(person.name); // 张三 person.greet(); // 你好我是张三 // 添加/修改属性 person.email zhangsanexample.com; person.age 31;5.2 数组一般用const声明// 创建数组 const colors [red, green, blue]; const numbers new Array(1, 2, 3); // 常用数组方法 colors.push(yellow); // 末尾添加 colors.pop(); // 移除末尾 colors.unshift(purple); // 开头添加 colors.shift(); // 移除开头 // 遍历数组 colors.forEach(color console.log(color)); // map 方法 let lengths colors.map(color color.length);