第四周学习笔记(js的基础用法)
1. 语言特性与用途
JavaScript 是一种轻量级、解释型的编程语言,以其在 Web 开发中实现动态交互而闻名。它是单线程、事件驱动的语言,并支持面向对象和函数式编程范式。
2. 变量与数据类型
变量声明:使用
var、let和const来声明变量。let和const提供了块级作用域,是现代开发的首选。const用于声明不可重新赋值的常量。基本数据类型:
Number:整数和浮点数。
String:文本数据。
Boolean:
true或false。Undefined:变量已声明但未赋值时的默认值。
Null:表示一个空值或“无对象”的故意赋值。
Symbol:ES6 引入,表示唯一的、不可变的值。
BigInt:ES2020 引入,用于表示任意精度的整数。
引用数据类型:
Object:键值对的集合,用于存储复杂数据。
Array:用于存储有序的元素列表。
Function:是一段可重复执行的代码块。
3. 运算符
算术运算符:
+,-,*,/,%(取模),**(幂)。赋值运算符:
=,+=,-=等。比较运算符:
==(相等,会进行类型转换),===(严格相等,比较值和类型),!=,!==,>,<等。逻辑运算符:
&&(与),||(或),!(非)。
4. 流程控制
条件语句:使用
if...else和switch语句来根据条件执行不同的代码分支。循环语句:
for:用于重复执行代码指定次数。while:当指定条件为真时,重复执行代码。do...while:至少执行一次代码块,然后当条件为真时重复执行。for...of/for...in:用于遍历可迭代对象(如数组)或对象的属性。
5. 函数
定义:使用
function关键字或箭头函数 (=>) 来定义。参数:函数可以接收参数。ES6 支持默认参数和剩余参数 (
...)。返回值:使用
return语句返回一个值。无return则返回undefined。作用域:定义了变量的可访问性。函数有自己的作用域。
闭包:一个函数能够记住并访问其词法作用域,即使该函数在其作用域之外执行。
6. 对象与数组
对象:
使用点符号 (
obj.property) 或方括号 (obj['property']) 访问属性。可以动态地添加、修改或删除属性。
数组:
是特殊的对象,用于存储有序的数据集合。
包含一系列强大的方法,如
push/pop(尾端操作),shift/unshift(首端操作),map,filter,reduce,find等,用于遍历和操作数组元素。
7. 异步编程
这是 JavaScript 的核心特性,用于处理不阻塞主线程的操作(如网络请求、文件读写)。
回调函数:将函数作为参数传递给另一个函数,在异步操作完成后执行。
Promise:ES6 引入,用于更优雅地处理异步操作。它代表一个未来才会完成的操作的最终结果(成功或失败)。
状态:
pending(等待中),fulfilled(已成功),rejected(已失败)。方法:
.then()处理成功,.catch()处理失败。
async/await:ES8 引入,基于 Promise 的语法糖,让异步代码的书写和阅读更像同步代码。
async关键字用于声明一个异步函数。await关键字用于等待一个 Promise 完成。
8. 错误处理
使用
try...catch...finally语句来捕获和处理运行时错误,防止程序崩溃。
9. DOM 操作 (在浏览器环境中)
选择元素:使用
document.querySelector()和document.querySelectorAll()等方法。修改内容:通过
innerHTML或textContent属性。修改样式:通过
style属性。事件处理:使用
addEventListener为元素绑定事件(如点击、鼠标移动、键盘输入)。创建/添加/删除元素:动态地更新页面结构。