defer 和 async 属性详解 defer - 推迟执行脚本 定义**:defer 属性用于推迟脚本的执行,直到 HTML 文档完全解析(DOM 树构建完成)后才会执行。 特点**: 顺序保证:按照脚本在文档中的顺序依次执行。 执行时机:所有 defer 脚本会在 DOMContentLoaded 事件之前执行。 规范 vs 实际: 根据 HTML5 规范,defer 脚本应该严格按照顺序执行。 但某些情况下,浏览器的实现可能导致顺序异常...
JavaScript 是一门用来与网页交互的脚本语言,其核心包含以下三个重要组成部分: 1. ECMAScript 由 ECMA-262 定义,为 JavaScript 提供核心功能。 它包含了 JavaScript 的语法、数据类型、操作符、对象等基本特性。 2. 文档对象模型 (DOM) 提供与网页内容交互的方法和接口。 用于操作 HTML 和 XML 文档的结构。 例如:修改网页内容、添加或删除元素。 3. 浏览器对象模型 (BOM) 提供与浏览器交互的方法和接口。 允许开发者操...
前段时间**配了台主机**,也算是快乐到了✨ 想着也不能过于荒废了,决定开始**入坑红宝书**了📕 俗话说得好: **基础不牢,地动山摇!** 加油!💪🚀
摘要: TypeScript 类型体操之 Get Readonly Keys
GetReadonlyKeys 描述 实现泛型GetReadonlyKeys,GetReadonlyKeys返回由对象 T 所有只读属性的键组成的联合类型。 例如: interface Todo { readonly title: string readonly description: string completed: boolean } type Keys = GetReadonlyKeys // expected to be "title" | "description" 解答 ...
Pick 描述 **不使用 Pick ,实现 TS 内置的 Pick 的功能。 从类型 T 中选出符合 K 的属性,构造一个新的类型。** 例如: interface Todo { title: string description: string completed: boolean } type TodoPreview = MyPick const todo: TodoPreview = { title: 'Clean room', ...
摘要: TypeScript 类型体操之 Omit
Omit 描述 不使用 Omit 实现 TypeScript 的 Omit 泛型。Omit 会创建一个省略 K 中字段的 T 对象。 例如: interface Todo { title: string description: string completed: boolean } type TodoPreview = MyOmit const todo: TodoPreview = { completed: false, } 解答...
摘要: Typescript 类型体操之 ReturnType
ReturnType 描述 不使用 ReturnType 实现 TypeScript 的 ReturnType 泛型。 例如: const fn = (v: boolean) => { if (v) return 1 else return 2 } type a = MyReturnType // 应推导出 "1 | 2" 解答 type MyReturnType unknown>...