【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...
安装node.js 安装 Node.js 验证 其他设置1 镜像 找到 npm 配置文件: Windows:C:\Users\<用户名>\.npmrc Mac/Linux:~/.npmrc 用文本编辑器打开 .npmrc,添加以下内容: 保存文件并重启终端 清理缓存并...
示例dump分析:空指针访问二 代码 分析步骤 !analyze -v 信息1 RAX 寄存器中存储了地址 0x00000000,导致 mov dword ptr [rax], 2Ah 指令尝试向内存地址 0 写入值 0x2A(十进制 42)时触发异常 在 Windows 系统中...
示例dump分析:堆内存泄露 代码 分析步骤一 在程序启动时,先用下面命令查看堆的情况 !heap -s !heap -stat -h 1cb0000 分析步骤二 g 让程序跑一会儿 !heap -s 对比发现Commit多了128h !heap -stat -h 1cb0000...
调试堆内存 启用用户堆栈跟踪(User Stack Trace) 方法一 通过 gflags.exe 为目标进程添加堆栈跟踪标志: 方法二: 打开Global Flags,设置如图示: 相关问题 在实践过程中,发现勾选Enable page heap之后,虽然点击上图的应用确认之...