主要记录关于JavaScript学习过程中的基础知识,用于复习和总结,主要内容借助GPT生成。
📝 涉及内容
- 变量、常量
- 数据类型
- 流程控制
- 函数
- 对象定义、属性、方法、构造函数
- 类、继承
- 原型链
- 高阶函数
- 作用域与闭包
- 错误处理
- 类型转换
- 事件循环和异步编程
🆎 数据类型
原始类型
number:数值类型,例如整数、浮点数
string:字符串
boolean:布尔值(true或false)
null:空值
undefined:未定义
Symbol:独特的标识符(ES6 引入)
BigInt:大整数
引用类型
Object:对象
Array:数组
Function:函数
Date:日期
变量声明
三种不同的声明变量方式:
var:有函数作用域和可提升性(hoisting)
let:有块作用域
const:定义常量,有块作用域,且不可重新赋值
流程控制语句
- 条件语句:
if-else、switch
- 循环语句:
for、while、do-while、for-in、for-of
函数
JavaScript 中的函数有多种定义方式:普通函数、匿名函数、箭头函数,以及具名或匿名的回调函数。对象相关
定义与使用
- 对象是属性和方法的集合,可以通过对象字面量、构造函数或
Object.create创建。
构造函数
- 构造函数用于创建和初始化对象。
- 通过
new关键字实例化时,构造函数的this指向新对象。
属性与方法
- 对象的属性可以是数据属性或访问器属性。
- 方法通常是函数,绑定到对象的属性中。
类与继承
- 在 ES6 中引入了
class语法,使得面向对象编程更加清晰易懂。
class支持继承、静态方法、以及构造器等。
原型链
- JavaScript 使用原型继承机制。
- 对象的原型链是一系列对象的链表,使对象能继承并操作其原型链上的属性和方法。
注意事项
- 使用构造函数时,确保使用
new关键字来创建实例,否则this指向全局对象。
- 类的静态方法不能通过实例调用,而是通过类本身调用。
- 原型链中属性查找是从下往上查找,找到就停止搜索,找不到则返回
undefined。
- 不要直接修改内置对象的原型,这样做可能破坏全局环境。
作用域与闭包
- 作用域:
- JavaScript 中有全局作用域、函数作用域和块作用域。
- 块作用域由
let和const引入,使得在块(如循环或条件语句)中的变量仅在块内可见。
- 闭包:
- 闭包是函数与其词法环境的组合,使函数可以访问函数外部的变量,即使该函数在外部执行。
- 闭包常用于数据隐藏和工厂函数。
事件循环和异步编程
- 事件循环:
- 解释 JavaScript 如何异步处理事件和执行任务。
- 它使代码在执行时保持非阻塞状态。
- 异步编程:
- 通过回调、
Promise和async/await处理异步操作,如定时器和网络请求。
错误处理
- JavaScript 使用
try-catch捕获并处理异常。自定义错误类可用于生成特定的错误信息。
类型转换
- 显式转换:使用
Number、String、Boolean等转换方法。
- 隐式转换:通过自动类型转换操作符。
严格模式
- 使代码执行更严格的检查,以避免潜在的错误。
- 启动方式:
use strict;
高阶函数
- 高阶函数是可以接受函数作为参数,或返回另一个函数的函数。
- 常用的数组高阶函数包括
map、filter和reduce。
- Author:CoderWdd
- URL:https://www.wuinsights.top//article/01HXPH27FRNHV8PN3RNSWTV1N7
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts