网络请求

网络请求 Fetch fetch() 是现代 JavaScript 中用于发起网络请求的通用方法,它基于 Promise,支持异步操作。虽然“AJAX”(Asynchronous JavaScript And XML)是这类请求的传统术语,但如今我们通常处理的是 JSON 或二进制数据,而非 XML


JavaScript原型继承

原型继承 原型继承 特殊属性 [[Prototype]] 此属性只能有两个值: null 另一个对象引用,称为原型 当使用被调用对象中不存在的属性或者方法时,会自动从原型上进行查找,此外,原型链支持长链,对象A可以是对象B的原型,B对象可以是对象C的原型,以此类推。 但是,原型对象只能有一个,一个对


Javascript杂项

杂项 Proxy 与 Reflect Proxy 是 JavaScript 的元编程利器:它包装目标对象,拦截并自定义底层操作(属性读写、函数调用、in 运算符等)。 Reflect 是与 Proxy 配套的 API,提供与 Proxy 捕捉器一一对应的方法,用于安全转发操作到目标对象。 核心概念


Javascript模块

模块 模块简介 何为模块 一个模块(module)就是一个文件。一个脚本就是一个模块。 模块之间可以相互加载,使用 export 和 import 来交换功能: export 关键字标记了可以从当前模块外部访问的变量和函数。 import 关键字允许从其他模块导入功能。 在 A 模块中定义方法,进行


JavaScript生成器-高级迭代

生成器-高级迭代 常规函数只能返回一个值或一个对象,或者不返回值,但只要是返回,必然是一次返回全部数据。 然而生成器(Generator)却允许按需一个一个地返回。 Generator 生成器 生成器函数 语法: function* generateSequence() { // 方式一 yie


JavaScript异步编程Promise

Promise-async/await 基于回调的异步编程 在需要远程请求脚本文件,并执行其中函数时,可以使用异步方式。 setTimeout 函数允许异步执行。 function loadScript(src, callback) { let script = {src: '', onload


JavaScript错误处理

错误处理 try-catch 完整语法: try { // 代码... } catch (err) { // 错误捕获 // 若无错误,自动忽略 } finally { // 无论是否发生错误都会执行 } 首先,一行一行执行try块的内容 执行遇到错误时,引擎会控制流转向catch


JavaScript类

类 可以认为其为一个语法糖,本质为 new Function 的语法。 旨在使内容更易阅读,但不引入任何新内容的语法 Class 基本语法 语法 class User { constructor(name) { this.name = name; } sayHi() {


JavaScript对象属性配置

对象属性配置 属性标志和属性描述符 属性标志 对象的属性除了 value 之外,还有三个其余特性: writable:为true则表示可以被修改,否则为只读; enumerable:为true表示可被循环列出,否则不可被迭代循环展示; configurable:为true表示当前属性可被修改或者删除