
【Javascript】装饰器,转发,call,apply,函数绑定,箭头函数
装饰器模式和转发,call/apply 概述 JavaScript 在处理函数时提供了非凡的灵活性 它们可以被传递,用作对象,也可以在它们之间 转发(forward) 调用并 装饰(decorate) 它们 透明缓存 假设我们有一个 CPU 重负载的函数 slow(x),但它的结...
装饰器模式和转发,call/apply 概述 JavaScript 在处理函数时提供了非凡的灵活性 它们可以被传递,用作对象,也可以在它们之间 转发(forward) 调用并 装饰(decorate) 它们 透明缓存 假设我们有一个 CPU 重负载的函数 slow(x),但它的结...
全局对象 概述 全局对象提供可在任何地方使用的变量和函数 默认情况下,这些全局变量内建于语言或环境中 在浏览器中,它的名字是 “window”,对 Node.js 而言,它的名字是 “global”,其它环境可能用的是别的名字 最近,globalThis 被作为全局对象的标准名称...
递归 执行上下文和堆栈 有关正在运行的函数的执行过程的相关信息被存储在其 执行上下文 中 执行上下文是一个内部数据结构,它包含有关函数执行时的详细细节:当前控制流所在的位置,当前的变量,this 的值(此处我们不使用它),以及其它的一些内部细节 一个函数调用仅具有一个与其相关联的...
解构赋值 概述 JavaScript 中最常用的两种数据结构是 Object 和 Array 对象是一种根据键存储数据的实体 数组是一种直接存储数据的有序列表 但是,当我们把它们传递给函数时,函数可能不需要整个对象/数组,而只需要其中一部分 解构赋值 是一种特殊的语法,它使我们可...
文档 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference Map 概述 一个带键的数据项的集合,就像一个 Object 一样 但是它们最大的差别是 Map 允许任何类型的键(key) 方法和属性 ne...
文档 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference 数组方法 添加/移除数组元素 arr.push(...items) —— 从尾端添加元素 arr.pop() —— 从尾端提取元素 arr.s...
对象和原始类型的区别 原始类型的值 是原始类型中的一种值。 在 JavaScript 中有 7 种原始类型:string,number,bigint,boolean,symbol,null 和 undefined。 对象 能够存储多个值作为属性。 可以使用大括号 {} 创建对象,...
垃圾回收 JavaScript 中主要的内存管理概念是 可达性。 列出固有的可达值的基本集合,这些值明显不能被释放。这些值被称作 根(roots)。 当前函数的局部变量和参数。 嵌套调用时,当前调用链上所有函数的变量与参数。 全局变量。 (还有一些内部的) 如果一个值可以通过引用...
调试 debugger 可以使用 debugger 命令来暂停代码 代码风格 花括号 行长度 没有人喜欢读一长串代码,最好将代码分割一下。 缩进 水平方向上的缩进:2 或 4 个空格。 垂直方向上的缩进:用于将代码拆分成逻辑块的空行。 对象 对象则用来存储键值对和更复杂的实体。 ...
基础知识二 字符串转换 数字转换 在算术函数和表达式中,会自动进行number类型转换。 number类型转换规则 值 结果 undefined NaN null 0 true和false 1 和 0 string 去掉首尾空格后的纯数字字符串中含有的数字。如果剩余字符串为空,则...