练习 / js

JavaScript 练习

JavaScript 的全部练习都来自可随时对照的主题。

184项练习 离线运行
js 测验 新题 哪个表达式能返回数值升序结果,同时不修改 scores? 按返回结果与是否修改原数组选择 JavaScript 数组方法,并避开排序、稀疏数组、浅拷贝和异步回调中的常见错误。 入门 1分钟 · 来自 数组方法 js 预测输出 新题 这段程序会输出什么? 按返回结果与是否修改原数组选择 JavaScript 数组方法,并避开排序、稀疏数组、浅拷贝和异步回调中的常见错误。 进阶 2分钟 · 来自 数组方法 js 测验 新题 为什么对可能为空的数组求和时,通常应向 reduce 传入 0? 按返回结果与是否修改原数组选择 JavaScript 数组方法,并避开排序、稀疏数组、浅拷贝和异步回调中的常见错误。 入门 1分钟 · 来自 数组方法 js 审查 AI 代码 新题 审查生成的订单报告 按返回结果与是否修改原数组选择 JavaScript 数组方法,并避开排序、稀疏数组、浅拷贝和异步回调中的常见错误。 高级 6分钟 · 来自 数组方法 js 找出 bug 新题 找出异步投递里的 bug 按返回结果与是否修改原数组选择 JavaScript 数组方法,并避开排序、稀疏数组、浅拷贝和异步回调中的常见错误。 进阶 4分钟 · 来自 数组方法 js 测验 新题 对箭头函数调用 bind 时,bind 会改变什么? 箭头函数用紧凑语法创建函数表达式,并从外层继承 this 等绑定;理解返回规则、调用语义与函数标识,才能安全地编写回调。 进阶 1分钟 · 来自 箭头函数 js 预测输出 新题 这段程序会输出什么? 箭头函数用紧凑语法创建函数表达式,并从外层继承 this 等绑定;理解返回规则、调用语义与函数标识,才能安全地编写回调。 入门 2分钟 · 来自 箭头函数 js 预测输出 新题 这段程序会输出哪个名称? 箭头函数用紧凑语法创建函数表达式,并从外层继承 this 等绑定;理解返回规则、调用语义与函数标识,才能安全地编写回调。 进阶 2分钟 · 来自 箭头函数 js 审查 AI 代码 新题 审查生成的订单订阅器 箭头函数用紧凑语法创建函数表达式,并从外层继承 this 等绑定;理解返回规则、调用语义与函数标识,才能安全地编写回调。 高级 8分钟 · 来自 箭头函数 js 找出 bug 新题 找出账户标签里的 bug 箭头函数用紧凑语法创建函数表达式,并从外层继承 this 等绑定;理解返回规则、调用语义与函数标识,才能安全地编写回调。 进阶 4分钟 · 来自 箭头函数 js 测验 新题 哪项陈述正确区分了 apply 与实参展开? 区分 call、apply 与 bind 的调用时机、实参形式和绑定行为,并正确处理回调标识、类数组对象与构造调用。 进阶 1分钟 · 来自 call、apply 与 bind js 测验 新题 目标是箭头函数时,bind 能改变什么? 区分 call、apply 与 bind 的调用时机、实参形式和绑定行为,并正确处理回调标识、类数组对象与构造调用。 进阶 1分钟 · 来自 call、apply 与 bind js 测验 新题 new 调用目标可构造的绑定函数时会发生什么? 区分 call、apply 与 bind 的调用时机、实参形式和绑定行为,并正确处理回调标识、类数组对象与构造调用。 高级 1分钟 · 来自 call、apply 与 bind js 预测输出 新题 这段程序会输出什么? 区分 call、apply 与 bind 的调用时机、实参形式和绑定行为,并正确处理回调标识、类数组对象与构造调用。 进阶 2分钟 · 来自 call、apply 与 bind js 审查 AI 代码 新题 审查生成的 Webhook 客户端 区分 call、apply 与 bind 的调用时机、实参形式和绑定行为,并正确处理回调标识、类数组对象与构造调用。 高级 8分钟 · 来自 call、apply 与 bind js 找出 bug 新题 找出监听器移除里的 bug 区分 call、apply 与 bind 的调用时机、实参形式和绑定行为,并正确处理回调标识、类数组对象与构造调用。 入门 4分钟 · 来自 call、apply 与 bind js 填空 新题 写出用于声明块级作用域且不可重新赋值绑定的关键字 填空 入门 1分钟 · 来自 checkpoint-1 js 填空 新题 哪一个确切的值会触发解构默认值? 填空 进阶 1分钟 · 来自 checkpoint-1 js 填空 新题 写出 `[].reduce(callback)` 未提供初始值时抛出的错误类型 填空 进阶 1分钟 · 来自 checkpoint-1 js 测验 新题 `[1, 2, 3].map(n => n * 2)` 的值是什么? 测验 入门 1分钟 · 来自 checkpoint-1 js 测验 新题 哪个表达式只在 `count` 为 `null` 或 `undefined` 时使用 `fallback`,并保留 `0`? 测验 高级 1分钟 · 来自 checkpoint-1 js 测验 新题 `Object.keys(value)` 会返回哪些属性? 测验 进阶 1分钟 · 来自 checkpoint-1 js 填空 新题 写出必须位于函数形参列表末尾的形参类型 填空 高级 1分钟 · 来自 checkpoint-1 js 测验 新题 `typeof null` 的求值结果是什么? 测验 入门 1分钟 · 来自 checkpoint-1 js 填空 新题 写出以类数组值提供实参并立即调用函数的显式绑定方法 填空 进阶 1分钟 · 来自 checkpoint-2 js 测验 新题 箭头函数如何获得 `this`? 测验 入门 1分钟 · 来自 checkpoint-2 js 测验 新题 已知 `function read() { return this.name }`,`read.call({ name: "Lin" })` 返回什么? 测验 入门 1分钟 · 来自 checkpoint-2 js 填空 新题 类体中声明的方法通常存放在哪里,供各实例共享? 填空 高级 1分钟 · 来自 checkpoint-2 js 填空 新题 函数在外层调用结束后仍可访问其定义作用域变量,这一机制叫什么? 填空 入门 1分钟 · 来自 checkpoint-2 js 测验 新题 把方法直接作为回调传递后丢失了接收者。哪项最小改动能保留原接收者,且无需修改方法体? 测验 高级 1分钟 · 来自 checkpoint-2 js 测验 新题 读取 `object.label` 时,JavaScript 首先在哪里查找? 测验 进阶 1分钟 · 来自 checkpoint-2 js 填空 新题 派生类构造函数在调用 `super()` 前读取 `this` 时,会抛出哪种错误? 填空 进阶 1分钟 · 来自 checkpoint-2 js 测验 新题 `slow` 在 `fast` 以 `"fast"` 兑现后才以 `"slow"` 兑现。`await Promise.all([slow, fast])` 会产生什么? 测验 入门 1分钟 · 来自 checkpoint-3 js 填空 新题 当所有输入都被拒绝时,`Promise.any` 会以哪种错误类型拒绝? 填空 进阶 1分钟 · 来自 checkpoint-3 js 填空 新题 写出异步可迭代对象需要提供的内置 Symbol 方法 填空 进阶 1分钟 · 来自 checkpoint-3 js 测验 新题 调用 `async function value() { return 7 }` 会返回什么? 测验 进阶 1分钟 · 来自 checkpoint-3 js 测验 新题 两个请求互不依赖。哪种写法会先启动两者,再等待并保留两项结果? 测验 高级 1分钟 · 来自 checkpoint-3 js 测验 新题 脚本依次安排零延时定时器、安排 `Promise.resolve().then(() => log.push("microtask"))`,再压入 `"sync"`。最终顺序是哪… 测验 入门 1分钟 · 来自 checkpoint-3 js 填空 新题 写出新建 Promise 在敲定前的初始状态 填空 入门 1分钟 · 来自 checkpoint-3 js 填空 新题 写出防止快速流生产者压垮慢速消费者的流量控制机制 填空 高级 1分钟 · 来自 checkpoint-3 js 填空 新题 写出 Alpine 的 `x-if` 指令必须放置的 HTML 元素 填空 进阶 1分钟 · 来自 checkpoint-4 js 填空 新题 写出清除 `input` 自定义校验错误的准确调用 填空 进阶 1分钟 · 来自 checkpoint-4 js 测验 新题 `import("./feature.js")` 返回什么? 测验 入门 1分钟 · 来自 checkpoint-4 js 填空 新题 写出 `try` 语句中即使 `try` 块执行 `return` 也会运行的清理代码块 填空 入门 1分钟 · 来自 checkpoint-4 js 测验 新题 `JSON.stringify({ kept: 1, skipped: undefined })` 返回什么? 测验 入门 1分钟 · 来自 checkpoint-4 js 填空 新题 迁移后的代码在信任 `JSON.parse` 返回的 API 数据并交给 Alpine 组件前,还必须在执行时用哪种检查验证其结构? 填空 高级 1分钟 · 来自 checkpoint-4 js 测验 新题 浏览器表单已通过 Constraint Validation API 的全部检查。到达服务端边界后,哪项陈述仍然成立? 测验 高级 1分钟 · 来自 checkpoint-4 js 测验 新题 哪条 Vitest 断言会正确等待 `loadUser()` 以 `"Not found"` 拒绝? 测验 进阶 1分钟 · 来自 checkpoint-4 js 预测输出 新题 构造 ChildPanel 时会输出什么? 掌握 JavaScript 类的构造、原型方法、字段、继承与 this 绑定,并识别生成代码最常埋下的初始化错误。 进阶 2分钟 · 来自 类 js 预测输出 新题 这段程序会输出什么? 掌握 JavaScript 类的构造、原型方法、字段、继承与 this 绑定,并识别生成代码最常埋下的初始化错误。 入门 2分钟 · 来自 类 js 测验 新题 关于声明为 #records 的字段,哪项说法正确? 掌握 JavaScript 类的构造、原型方法、字段、继承与 this 绑定,并识别生成代码最常埋下的初始化错误。 进阶 1分钟 · 来自 类 js 审查 AI 代码 新题 审查生成的会话存储 掌握 JavaScript 类的构造、原型方法、字段、继承与 this 绑定,并识别生成代码最常埋下的初始化错误。 高级 6分钟 · 来自 类 js 找出 bug 新题 找出产品标签里的 bug 掌握 JavaScript 类的构造、原型方法、字段、继承与 this 绑定,并识别生成代码最常埋下的初始化错误。 进阶 4分钟 · 来自 类 js 测验 新题 闭包读取一个 let 绑定,而该绑定在函数创建后被重新赋值。稍后调用通常会看到哪个值? 闭包让函数继续访问定义位置的词法环境;理解共享绑定、循环变量与回调生命周期,才能可靠地使用这种机制。 进阶 1分钟 · 来自 闭包 js 测验 新题 两个消费者需要独立的重试次数。哪种设计会为二者提供不同的捕获绑定? 闭包让函数继续访问定义位置的词法环境;理解共享绑定、循环变量与回调生命周期,才能可靠地使用这种机制。 入门 1分钟 · 来自 闭包 js 预测输出 新题 这段程序会输出什么? 闭包让函数继续访问定义位置的词法环境;理解共享绑定、循环变量与回调生命周期,才能可靠地使用这种机制。 入门 2分钟 · 来自 闭包 js 审查 AI 代码 新题 审查生成的上传处理器 闭包让函数继续访问定义位置的词法环境;理解共享绑定、循环变量与回调生命周期,才能可靠地使用这种机制。 高级 8分钟 · 来自 闭包 js 找出 bug 新题 找出命名计数器里的 bug 闭包让函数继续访问定义位置的词法环境;理解共享绑定、循环变量与回调生命周期,才能可靠地使用这种机制。 进阶 4分钟 · 来自 闭包 js 测验 新题 哪项陈述准确区分了严格柯里化与偏应用? 柯里化把参数分步固定,函数组合把单输入函数连接成数据流;重点理解参数数量、this、同步与异步边界。 进阶 1分钟 · 来自 柯里化与函数组合 js 测验 新题 为什么不能只用 fn.length 作为万能 curry 的完成条件? 柯里化把参数分步固定,函数组合把单输入函数连接成数据流;重点理解参数数量、this、同步与异步边界。 进阶 1分钟 · 来自 柯里化与函数组合 js 预测输出 新题 这段程序会输出什么? 柯里化把参数分步固定,函数组合把单输入函数连接成数据流;重点理解参数数量、this、同步与异步边界。 入门 2分钟 · 来自 柯里化与函数组合 js 预测输出 新题 这条从左到右的管道会输出什么值? 柯里化把参数分步固定,函数组合把单输入函数连接成数据流;重点理解参数数量、this、同步与异步边界。 入门 2分钟 · 来自 柯里化与函数组合 js 审查 AI 代码 新题 审查生成的订单报告管道 柯里化把参数分步固定,函数组合把单输入函数连接成数据流;重点理解参数数量、this、同步与异步边界。 高级 8分钟 · 来自 柯里化与函数组合 js 找出 bug 新题 找出账户名管道里的 bug 柯里化把参数分步固定,函数组合把单输入函数连接成数据流;重点理解参数数量、this、同步与异步边界。 进阶 4分钟 · 来自 柯里化与函数组合 js 预测输出 新题 这段程序会输出什么? 理解 JavaScript 的七种基本类型、对象、运行时类型检查与强制转换,在输入边界保留 0、false 和空字符串的真实含义。 进阶 2分钟 · 来自 数据类型 js 预测输出 新题 这段程序会输出什么? 理解 JavaScript 的七种基本类型、对象、运行时类型检查与强制转换,在输入边界保留 0、false 和空字符串的真实含义。 入门 2分钟 · 来自 数据类型 js 审查 AI 代码 新题 审查生成的任务规范化函数 理解 JavaScript 的七种基本类型、对象、运行时类型检查与强制转换,在输入边界保留 0、false 和空字符串的真实含义。 高级 7分钟 · 来自 数据类型 js 找出 bug 新题 找出环境解析器里的 bug 理解 JavaScript 的七种基本类型、对象、运行时类型检查与强制转换,在输入边界保留 0、false 和空字符串的真实含义。 入门 4分钟 · 来自 数据类型 js 测验 新题 字段必须是完整的非负十进制整数,并且位于安全范围内。哪种做法符合契约? 理解 JavaScript 的七种基本类型、对象、运行时类型检查与强制转换,在输入边界保留 0、false 和空字符串的真实含义。 进阶 1分钟 · 来自 数据类型 js 测验 新题 每日会议必须固定在 America/New_York 的 09:00。为什么不能只增加 86,400,000 毫秒? JavaScript 用 Date 对象表示时间点;准确理解字符串解析、UTC 与本地视图、格式化、日期计算、可变性和有效性检查。 进阶 1分钟 · 来自 Date 对象 js 测验 新题 一个有效的 Date 对象会保留什么信息? JavaScript 用 Date 对象表示时间点;准确理解字符串解析、UTC 与本地视图、格式化、日期计算、可变性和有效性检查。 入门 1分钟 · 来自 Date 对象 js 预测输出 新题 这段程序会输出什么? JavaScript 用 Date 对象表示时间点;准确理解字符串解析、UTC 与本地视图、格式化、日期计算、可变性和有效性检查。 进阶 2分钟 · 来自 Date 对象 js 审查 AI 代码 新题 审查生成的会议规范化函数 JavaScript 用 Date 对象表示时间点;准确理解字符串解析、UTC 与本地视图、格式化、日期计算、可变性和有效性检查。 高级 8分钟 · 来自 Date 对象 js 找出 bug 新题 找出时间戳序列化里的 bug JavaScript 用 Date 对象表示时间点;准确理解字符串解析、UTC 与本地视图、格式化、日期计算、可变性和有效性检查。 入门 4分钟 · 来自 Date 对象 js 测验 新题 const [first, , third] = iterable 中的空位置会做什么? 用可运行示例讲清数组与对象解构、默认值、嵌套模式和剩余元素,以及生成代码最容易忽略的空值与浅拷贝边界。 进阶 1分钟 · 来自 解构赋值 js 预测输出 新题 这段程序会输出什么? 用可运行示例讲清数组与对象解构、默认值、嵌套模式和剩余元素,以及生成代码最容易忽略的空值与浅拷贝边界。 入门 2分钟 · 来自 解构赋值 js 预测输出 新题 修改剩余属性对象后,这段程序会输出什么? 用可运行示例讲清数组与对象解构、默认值、嵌套模式和剩余元素,以及生成代码最容易忽略的空值与浅拷贝边界。 进阶 2分钟 · 来自 解构赋值 js 审查 AI 代码 新题 审查生成的账户规范化函数 用可运行示例讲清数组与对象解构、默认值、嵌套模式和剩余元素,以及生成代码最容易忽略的空值与浅拷贝边界。 进阶 8分钟 · 来自 解构赋值 js 找出 bug 新题 找出订单标签里的 bug 用可运行示例讲清数组与对象解构、默认值、嵌套模式和剩余元素,以及生成代码最容易忽略的空值与浅拷贝边界。 进阶 4分钟 · 来自 解构赋值 js 测验 新题 创建高层 Error 时,为什么要把捕获的失败作为 cause 选项传入? 解释 JavaScript 异常如何跨越同步与 Promise 边界,并给出精确恢复、资源清理、错误包装和聚合的方法。 入门 1分钟 · 来自 错误处理 js 预测输出 新题 这段程序会输出什么? 解释 JavaScript 异常如何跨越同步与 Promise 边界,并给出精确恢复、资源清理、错误包装和聚合的方法。 进阶 2分钟 · 来自 错误处理 js 测验 新题 Promise.all 的一个输入拒绝后,其他操作会怎样? 解释 JavaScript 异常如何跨越同步与 Promise 边界,并给出精确恢复、资源清理、错误包装和聚合的方法。 进阶 1分钟 · 来自 错误处理 js 审查 AI 代码 新题 审查生成的资料加载器 解释 JavaScript 异常如何跨越同步与 Promise 边界,并给出精确恢复、资源清理、错误包装和聚合的方法。 高级 6分钟 · 来自 错误处理 js 找出 bug 新题 找出 Promise 回退里的 bug 解释 JavaScript 异常如何跨越同步与 Promise 边界,并给出精确恢复、资源清理、错误包装和聚合的方法。 进阶 4分钟 · 来自 错误处理 js 测验 新题 对于 const settings = { theme: "light" },const 保证了什么? 梳理 ES2015 及后续 JavaScript 的实用特性:词法绑定、简洁的数据操作、迭代、异步流程,以及兼容性边界。 入门 1分钟 · 来自 现代 JavaScript 特性 js 预测输出 新题 这段程序会输出什么? 梳理 ES2015 及后续 JavaScript 的实用特性:词法绑定、简洁的数据操作、迭代、异步流程,以及兼容性边界。 入门 2分钟 · 来自 现代 JavaScript 特性 js 审查 AI 代码 新题 审查生成的仪表板加载器 梳理 ES2015 及后续 JavaScript 的实用特性:词法绑定、简洁的数据操作、迭代、异步流程,以及兼容性边界。 高级 6分钟 · 来自 现代 JavaScript 特性 js 找出 bug 新题 找出可选链里的 bug 梳理 ES2015 及后续 JavaScript 的实用特性:词法绑定、简洁的数据操作、迭代、异步流程,以及兼容性边界。 进阶 4分钟 · 来自 现代 JavaScript 特性 js 测验 新题 构建为旧目标转换了可选链。这能证明哪项兼容性事实? 梳理 ES2015 及后续 JavaScript 的实用特性:词法绑定、简洁的数据操作、迭代、异步流程,以及兼容性边界。 进阶 1分钟 · 来自 现代 JavaScript 特性 js 预测输出 新题 这段程序会输出什么? JavaScript 如何决定下一步执行谁:调用栈、任务队列、微任务、I/O 阶段与协作式让出。 入门 2分钟 · 来自 事件循环 js 审查 AI 代码 新题 审查生成的资料加载器 JavaScript 如何决定下一步执行谁:调用栈、任务队列、微任务、I/O 阶段与协作式让出。 高级 8分钟 · 来自 事件循环 js 找出 bug 新题 找出通知投递里的 bug JavaScript 如何决定下一步执行谁:调用栈、任务队列、微任务、I/O 阶段与协作式让出。 进阶 4分钟 · 来自 事件循环 js 测验 新题 setTimeout 的 20 ms 延迟保证了什么? JavaScript 如何决定下一步执行谁:调用栈、任务队列、微任务、I/O 阶段与协作式让出。 入门 1分钟 · 来自 事件循环 js 测验 新题 某订阅 API 按严格标识移除回调。哪种写法可以移除已经注册的包装函数? 理解函数对象、声明时机、参数绑定、返回值与高阶调用,写出边界清楚且可验证的 JavaScript 函数。 进阶 1分钟 · 来自 函数 js 预测输出 新题 这段程序会输出什么? 理解函数对象、声明时机、参数绑定、返回值与高阶调用,写出边界清楚且可验证的 JavaScript 函数。 入门 2分钟 · 来自 函数 js 预测输出 新题 这段程序会输出什么? 理解函数对象、声明时机、参数绑定、返回值与高阶调用,写出边界清楚且可验证的 JavaScript 函数。 入门 2分钟 · 来自 函数 js 审查 AI 代码 新题 审查生成的发票导出器 理解函数对象、声明时机、参数绑定、返回值与高阶调用,写出边界清楚且可验证的 JavaScript 函数。 高级 8分钟 · 来自 函数 js 找出 bug 新题 找出订单投影里的 bug 理解函数对象、声明时机、参数绑定、返回值与高阶调用,写出边界清楚且可验证的 JavaScript 函数。 入门 4分钟 · 来自 函数 js 测验 新题 关于 let 与 const,哪项说法正确? 从绑定、值与表达式入手,理解 JavaScript 的声明、类型转换、比较和控制流,并避开基础代码里最常见的语义错误。 入门 1分钟 · 来自 JavaScript 基础 js 预测输出 新题 这段程序会输出什么? 从绑定、值与表达式入手,理解 JavaScript 的声明、类型转换、比较和控制流,并避开基础代码里最常见的语义错误。 入门 2分钟 · 来自 JavaScript 基础 js 审查 AI 代码 新题 审查生成的订单规范化函数 从绑定、值与表达式入手,理解 JavaScript 的声明、类型转换、比较和控制流,并避开基础代码里最常见的语义错误。 高级 6分钟 · 来自 JavaScript 基础 js 找出 bug 新题 找出页大小解析里的 bug 从绑定、值与表达式入手,理解 JavaScript 的声明、类型转换、比较和控制流,并避开基础代码里最常见的语义错误。 入门 4分钟 · 来自 JavaScript 基础 js 测验 新题 哪个条件会接受普通非 null 对象,同时拒绝数组? 从绑定、值与表达式入手,理解 JavaScript 的声明、类型转换、比较和控制流,并避开基础代码里最常见的语义错误。 进阶 1分钟 · 来自 JavaScript 基础 js 测验 新题 生成器尚未完成时,break 离开 for...of 循环会发生什么? 用迭代协议统一数据遍历,用生成器按需产出值,并正确处理单次消费、双向通信与提前关闭。 进阶 1分钟 · 来自 迭代器与生成器 js 测验 新题 哪种实现能让集合支持相互独立的重复遍历? 用迭代协议统一数据遍历,用生成器按需产出值,并正确处理单次消费、双向通信与提前关闭。 入门 1分钟 · 来自 迭代器与生成器 js 预测输出 新题 这段程序会输出什么? 用迭代协议统一数据遍历,用生成器按需产出值,并正确处理单次消费、双向通信与提前关闭。 进阶 2分钟 · 来自 迭代器与生成器 js 审查 AI 代码 新题 审查生成的获批 ID 收集器 用迭代协议统一数据遍历,用生成器按需产出值,并正确处理单次消费、双向通信与提前关闭。 高级 6分钟 · 来自 迭代器与生成器 js 找出 bug 新题 找出目录遍历里的 bug 用迭代协议统一数据遍历,用生成器按需产出值,并正确处理单次消费、双向通信与提前关闭。 进阶 4分钟 · 来自 迭代器与生成器 js 测验 新题 接口要求 JSON 顶层为对象并包含字符串 orderId。JSON.parse 成功后还必须做什么? 理解 JSON 文本与 JavaScript 值之间的边界,正确使用解析器、序列化器及其转换钩子,并识别精度、类型和安全陷阱。 入门 1分钟 · 来自 JSON js 预测输出 新题 这两个 console 调用会输出什么? 理解 JSON 文本与 JavaScript 值之间的边界,正确使用解析器、序列化器及其转换钩子,并识别精度、类型和安全陷阱。 进阶 2分钟 · 来自 JSON js 预测输出 新题 这段程序会输出什么? 理解 JSON 文本与 JavaScript 值之间的边界,正确使用解析器、序列化器及其转换钩子,并识别精度、类型和安全陷阱。 入门 2分钟 · 来自 JSON js 审查 AI 代码 新题 审查生成的支付规范化函数 理解 JSON 文本与 JavaScript 值之间的边界,正确使用解析器、序列化器及其转换钩子,并识别精度、类型和安全陷阱。 高级 6分钟 · 来自 JSON js 找出 bug 新题 找出 Date 替换器里的 bug 理解 JSON 文本与 JavaScript 值之间的边界,正确使用解析器、序列化器及其转换钩子,并识别精度、类型和安全陷阱。 进阶 4分钟 · 来自 JSON js 测验 新题 哪项需求意味着 WeakMap 不适合作为缓存结构? JavaScript 的键值集合与唯一值集合,以及键相等、插入顺序、现代集合运算和弱集合的边界。 进阶 1分钟 · 来自 Map 与 Set js 测验 新题 Map 可以明确存储 undefined。哪项检查能区分该条目与缺失键? JavaScript 的键值集合与唯一值集合,以及键相等、插入顺序、现代集合运算和弱集合的边界。 入门 1分钟 · 来自 Map 与 Set js 预测输出 新题 这段程序会输出什么? JavaScript 的键值集合与唯一值集合,以及键相等、插入顺序、现代集合运算和弱集合的边界。 进阶 2分钟 · 来自 Map 与 Set js 审查 AI 代码 新题 审查生成的访问索引 JavaScript 的键值集合与唯一值集合,以及键相等、插入顺序、现代集合运算和弱集合的边界。 高级 6分钟 · 来自 Map 与 Set js 找出 bug 新题 找出客户去重里的 bug JavaScript 的键值集合与唯一值集合,以及键相等、插入顺序、现代集合运算和弱集合的边界。 进阶 4分钟 · 来自 Map 与 Set js 测验 新题 Number.EPSILON 表示什么? Math 对象集中提供取整、幂、根、三角函数、极值与伪随机数;理解浮点边界和区间契约,才能避免精度与安全错误。 进阶 1分钟 · 来自 Math 对象 js 测验 新题 minimum 与 maximum 都是合法整数时,哪个表达式会把 Math.random() 映射为闭区间 [minimum, maximum] 内的整数? Math 对象集中提供取整、幂、根、三角函数、极值与伪随机数;理解浮点边界和区间契约,才能避免精度与安全错误。 入门 1分钟 · 来自 Math 对象 js 预测输出 新题 这段程序会输出什么? Math 对象集中提供取整、幂、根、三角函数、极值与伪随机数;理解浮点边界和区间契约,才能避免精度与安全错误。 入门 2分钟 · 来自 Math 对象 js 审查 AI 代码 新题 审查生成的读数汇总 Math 对象集中提供取整、幂、根、三角函数、极值与伪随机数;理解浮点边界和区间契约,才能避免精度与安全错误。 高级 6分钟 · 来自 Math 对象 js 找出 bug 新题 找出最高温度函数里的 bug Math 对象集中提供取整、幂、根、三角函数、极值与伪随机数;理解浮点边界和区间契约,才能避免精度与安全错误。 入门 4分钟 · 来自 Math 对象 js 预测输出 新题 这段程序会输出什么? 用可达性理解 JavaScript 垃圾回收,识别长期强引用,正确清理监听器与缓存,并谨慎使用弱集合和终结器。 入门 2分钟 · 来自 内存管理 js 审查 AI 代码 新题 审查生成的资料存储器 用可达性理解 JavaScript 垃圾回收,识别长期强引用,正确清理监听器与缓存,并谨慎使用弱集合和终结器。 高级 8分钟 · 来自 内存管理 js 找出 bug 新题 找出行情器清理里的 bug 用可达性理解 JavaScript 垃圾回收,识别长期强引用,正确清理监听器与缓存,并谨慎使用弱集合和终结器。 进阶 4分钟 · 来自 内存管理 js 测验 新题 两个对象互相引用,但任何 GC 根都无法到达它们时,会发生什么? 用可达性理解 JavaScript 垃圾回收,识别长期强引用,正确清理监听器与缓存,并谨慎使用弱集合和终结器。 进阶 1分钟 · 来自 内存管理 js 预测输出 新题 这次 WeakMap 查询会输出什么? 用可达性理解 JavaScript 垃圾回收,识别长期强引用,正确清理监听器与缓存,并谨慎使用弱集合和终结器。 入门 2分钟 · 来自 内存管理 js 测验 新题 在 Node 24 中,什么主要决定 app.js 是 ESM 还是 CommonJS? JavaScript 模块定义依赖边界;掌握静态导入、实时绑定、动态导入、循环依赖与 Node 24 模块解析。 入门 2分钟 · 来自 模块 js 预测输出 新题 这段程序会输出什么? JavaScript 模块定义依赖边界;掌握静态导入、实时绑定、动态导入、循环依赖与 Node 24 模块解析。 进阶 3分钟 · 来自 模块 js 预测输出 新题 evaluated 会输出几次,后面是哪个布尔值? JavaScript 模块定义依赖边界;掌握静态导入、实时绑定、动态导入、循环依赖与 Node 24 模块解析。 进阶 3分钟 · 来自 模块 js 审查 AI 代码 新题 审查生成的报表加载器 JavaScript 模块定义依赖边界;掌握静态导入、实时绑定、动态导入、循环依赖与 Node 24 模块解析。 高级 12分钟 · 来自 模块 js 找出 bug 新题 找出插件加载里的 bug JavaScript 模块定义依赖边界;掌握静态导入、实时绑定、动态导入、循环依赖与 Node 24 模块解析。 进阶 4分钟 · 来自 模块 js 测验 新题 执行 const copy = Object.assign({}, source) 后,关于 source.settings 处的嵌套对象可以确定什么? 理清对象自有属性的枚举、浅拷贝、属性描述符与完整性级别,准确使用 JavaScript 的 Object 静态方法。 入门 1分钟 · 来自 Object 静态方法 js 测验 新题 config 含有嵌套 preferences 对象时,Object.freeze(config) 能保证什么? 理清对象自有属性的枚举、浅拷贝、属性描述符与完整性级别,准确使用 JavaScript 的 Object 静态方法。 进阶 1分钟 · 来自 Object 静态方法 js 预测输出 新题 这段程序会输出什么? 理清对象自有属性的枚举、浅拷贝、属性描述符与完整性级别,准确使用 JavaScript 的 Object 静态方法。 进阶 2分钟 · 来自 Object 静态方法 js 审查 AI 代码 新题 审查生成的配置投影 理清对象自有属性的枚举、浅拷贝、属性描述符与完整性级别,准确使用 JavaScript 的 Object 静态方法。 高级 8分钟 · 来自 Object 静态方法 js 找出 bug 新题 找出自有属性检查里的 bug 理清对象自有属性的枚举、浅拷贝、属性描述符与完整性级别,准确使用 JavaScript 的 Object 静态方法。 进阶 4分钟 · 来自 Object 静态方法 js 测验 新题 Object.defineProperty(record, 'id', { value: 7 }) 会为新属性设置哪些标志? 理解 JavaScript 对象标识、自有属性、描述符、原型查找,以及构造函数和类背后的机制。 进阶 1分钟 · 来自 对象与原型 js 测验 新题 对于普通可构造函数 C 与 const value = new C(),通常成立的是哪种关系? 理解 JavaScript 对象标识、自有属性、描述符、原型查找,以及构造函数和类背后的机制。 进阶 1分钟 · 来自 对象与原型 js 预测输出 新题 这段程序会输出什么? 理解 JavaScript 对象标识、自有属性、描述符、原型查找,以及构造函数和类背后的机制。 入门 2分钟 · 来自 对象与原型 js 审查 AI 代码 新题 审查生成的会话构造器 理解 JavaScript 对象标识、自有属性、描述符、原型查找,以及构造函数和类背后的机制。 高级 8分钟 · 来自 对象与原型 js 找出 bug 新题 找出 Cart 项目列表里的 bug 理解 JavaScript 对象标识、自有属性、描述符、原型查找,以及构造函数和类背后的机制。 进阶 4分钟 · 来自 对象与原型 js 预测输出 新题 这段程序会输出什么? 使用 # 私有字段、方法与品牌检查封装类状态,并正确处理继承、代理、序列化和生成代码中的接收者错误。 进阶 2分钟 · 来自 私有字段 js 预测输出 新题 调用继承来的静态方法会输出什么? 使用 # 私有字段、方法与品牌检查封装类状态,并正确处理继承、代理、序列化和生成代码中的接收者错误。 高级 2分钟 · 来自 私有字段 js 测验 新题 关于 Object.freeze(instance) 与私有字段,哪项说法正确? 使用 # 私有字段、方法与品牌检查封装类状态,并正确处理继承、代理、序列化和生成代码中的接收者错误。 进阶 1分钟 · 来自 私有字段 js 审查 AI 代码 新题 审查生成的档案存储类 使用 # 私有字段、方法与品牌检查封装类状态,并正确处理继承、代理、序列化和生成代码中的接收者错误。 高级 6分钟 · 来自 私有字段 js 找出 bug 新题 找出私有字段代理里的 bug 使用 # 私有字段、方法与品牌检查封装类状态,并正确处理继承、代理、序列化和生成代码中的接收者错误。 进阶 4分钟 · 来自 私有字段 js 测验 新题 转发型 get trap 通常为什么要调用 Reflect.get(target, key, receiver)? Proxy 拦截对象的基本操作,Reflect 提供同语义的默认转发;理解 trap、receiver 与不变量,才能写出透明且可组合的代理。 进阶 2分钟 · 来自 Proxy 与 Reflect js 测验 新题 对可撤销代理调用 revoke() 能保证什么? Proxy 拦截对象的基本操作,Reflect 提供同语义的默认转发;理解 trap、receiver 与不变量,才能写出透明且可组合的代理。 进阶 2分钟 · 来自 Proxy 与 Reflect js 预测输出 新题 这段程序会输出什么? Proxy 拦截对象的基本操作,Reflect 提供同语义的默认转发;理解 trap、receiver 与不变量,才能写出透明且可组合的代理。 进阶 3分钟 · 来自 Proxy 与 Reflect js 审查 AI 代码 新题 审查生成的只读发票视图 Proxy 拦截对象的基本操作,Reflect 提供同语义的默认转发;理解 trap、receiver 与不变量,才能写出透明且可组合的代理。 高级 12分钟 · 来自 Proxy 与 Reflect js 找出 bug 新题 找出代理校验里的 bug Proxy 拦截对象的基本操作,Reflect 提供同语义的默认转发;理解 trap、receiver 与不变量,才能写出透明且可组合的代理。 高级 7分钟 · 来自 Proxy 与 Reflect js 测验 新题 哪个 API 会返回全部匹配,并保留每项匹配的命名捕获与索引? 用可运行示例掌握 JavaScript 正则表达式的匹配、捕获、替换、Unicode 与状态语义,并避开动态模式注入和灾难性回溯。 进阶 1分钟 · 来自 正则表达式 js 测验 新题 搜索词必须在 Node 24 的更大模式中按字面文本处理。代码应该怎么做? 用可运行示例掌握 JavaScript 正则表达式的匹配、捕获、替换、Unicode 与状态语义,并避开动态模式注入和灾难性回溯。 入门 1分钟 · 来自 正则表达式 js 预测输出 新题 这段程序会输出什么? 用可运行示例掌握 JavaScript 正则表达式的匹配、捕获、替换、Unicode 与状态语义,并避开动态模式注入和灾难性回溯。 进阶 2分钟 · 来自 正则表达式 js 审查 AI 代码 新题 审查生成的发布说明脱敏器 用可运行示例掌握 JavaScript 正则表达式的匹配、捕获、替换、Unicode 与状态语义,并避开动态模式注入和灾难性回溯。 高级 6分钟 · 来自 正则表达式 js 找出 bug 新题 找出订单 ID 校验里的 bug 用可运行示例掌握 JavaScript 正则表达式的匹配、捕获、替换、Unicode 与状态语义,并避开动态模式注入和灾难性回溯。 进阶 4分钟 · 来自 正则表达式 js 测验 新题 即使外部值包含 $& 或 $1,哪个调用仍能把每个 {{amount}} 标记替换成该值的字面内容? 理解字符串方法的不可变语义、UTF-16 索引、搜索替换与区域规则,写出能正确处理真实文本边界的 JavaScript。 进阶 1分钟 · 来自 字符串方法 js 预测输出 新题 这段程序会输出什么? 理解字符串方法的不可变语义、UTF-16 索引、搜索替换与区域规则,写出能正确处理真实文本边界的 JavaScript。 进阶 2分钟 · 来自 字符串方法 js 预测输出 新题 这段程序会输出什么? 理解字符串方法的不可变语义、UTF-16 索引、搜索替换与区域规则,写出能正确处理真实文本边界的 JavaScript。 入门 2分钟 · 来自 字符串方法 js 审查 AI 代码 新题 审查生成的姓名列表 理解字符串方法的不可变语义、UTF-16 索引、搜索替换与区域规则,写出能正确处理真实文本边界的 JavaScript。 高级 7分钟 · 来自 字符串方法 js 找出 bug 新题 找出标签截断里的 bug 理解字符串方法的不可变语义、UTF-16 索引、搜索替换与区域规则,写出能正确处理真实文本边界的 JavaScript。 进阶 4分钟 · 来自 字符串方法 js 测验 新题 对象字面量含有一个可枚举的 Symbol 键属性。下列哪项正确? Symbol 是具有唯一标识的基本值,可安全扩展对象属性,并通过内置协议键定制语言行为。 进阶 1分钟 · 来自 Symbol js 预测输出 新题 这段程序会输出什么? Symbol 是具有唯一标识的基本值,可安全扩展对象属性,并通过内置协议键定制语言行为。 进阶 2分钟 · 来自 Symbol js 预测输出 新题 这段程序会输出什么? Symbol 是具有唯一标识的基本值,可安全扩展对象属性,并通过内置协议键定制语言行为。 进阶 2分钟 · 来自 Symbol js 测验 新题 什么情况下适合使用 Symbol.for? Symbol 是具有唯一标识的基本值,可安全扩展对象属性,并通过内置协议键定制语言行为。 进阶 1分钟 · 来自 Symbol js 审查 AI 代码 新题 审查生成的插件规范化函数 Symbol 是具有唯一标识的基本值,可安全扩展对象属性,并通过内置协议键定制语言行为。 高级 6分钟 · 来自 Symbol js 找出 bug 新题 找出缓存 Symbol 里的 bug Symbol 是具有唯一标识的基本值,可安全扩展对象属性,并通过内置协议键定制语言行为。 入门 4分钟 · 来自 Symbol js 测验 新题 方法内部创建的箭头函数读取 this.id。arrow.call(other) 会怎样? JavaScript 根据调用方式确定 this;掌握方法调用、显式绑定、箭头函数与构造调用,避免回调和重构改变接收对象。 进阶 1分钟 · 来自 this 绑定 js 测验 新题 对可构造的绑定函数使用 new 时,绑定的 this 会怎样? JavaScript 根据调用方式确定 this;掌握方法调用、显式绑定、箭头函数与构造调用,避免回调和重构改变接收对象。 高级 1分钟 · 来自 this 绑定 js 预测输出 新题 这段程序会输出什么? JavaScript 根据调用方式确定 this;掌握方法调用、显式绑定、箭头函数与构造调用,避免回调和重构改变接收对象。 入门 2分钟 · 来自 this 绑定 js 审查 AI 代码 新题 审查生成的审计订阅器 JavaScript 根据调用方式确定 this;掌握方法调用、显式绑定、箭头函数与构造调用,避免回调和重构改变接收对象。 高级 8分钟 · 来自 this 绑定 js 找出 bug 新题 找出订单格式化器里的 bug JavaScript 根据调用方式确定 this;掌握方法调用、显式绑定、箭头函数与构造调用,避免回调和重构改变接收对象。 入门 4分钟 · 来自 this 绑定 js 测验 新题 哪个表达式能从任意 packet 视图的字节偏移 1 安全读取大端 Uint32? 类型化数组通过 ArrayBuffer 读写紧凑的二进制数据;理解视图、字节序、复制与可调整缓冲区,才能正确解析协议和文件。 进阶 1分钟 · 来自 类型化数组与 ArrayBuffer js 预测输出 新题 两个数组会怎样输出这些越界值和小数? 类型化数组通过 ArrayBuffer 读写紧凑的二进制数据;理解视图、字节序、复制与可调整缓冲区,才能正确解析协议和文件。 进阶 2分钟 · 来自 类型化数组与 ArrayBuffer js 预测输出 新题 这段程序会输出什么? 类型化数组通过 ArrayBuffer 读写紧凑的二进制数据;理解视图、字节序、复制与可调整缓冲区,才能正确解析协议和文件。 入门 2分钟 · 来自 类型化数组与 ArrayBuffer js 审查 AI 代码 新题 审查生成的遥测数据解析器 类型化数组通过 ArrayBuffer 读写紧凑的二进制数据;理解视图、字节序、复制与可调整缓冲区,才能正确解析协议和文件。 高级 8分钟 · 来自 类型化数组与 ArrayBuffer js 找出 bug 新题 找出类型数组 ID 读取里的 bug 类型化数组通过 ArrayBuffer 读写紧凑的二进制数据;理解视图、字节序、复制与可调整缓冲区,才能正确解析协议和文件。 进阶 4分钟 · 来自 类型化数组与 ArrayBuffer js 测验 新题 哪一组值都能在 Node 24 中作为 WeakMap 键? 用弱键集合关联对象元数据和成员状态,理解可达性、对象标识、不可枚举性与垃圾回收边界。 进阶 1分钟 · 来自 WeakMap 与 WeakSet js 预测输出 新题 这段程序会输出什么? 用弱键集合关联对象元数据和成员状态,理解可达性、对象标识、不可枚举性与垃圾回收边界。 进阶 2分钟 · 来自 WeakMap 与 WeakSet js 测验 新题 WeakMap 与 WeakSet 为什么不提供迭代和 size? 用弱键集合关联对象元数据和成员状态,理解可达性、对象标识、不可枚举性与垃圾回收边界。 进阶 1分钟 · 来自 WeakMap 与 WeakSet js 审查 AI 代码 新题 审查生成的请求缓存 用弱键集合关联对象元数据和成员状态,理解可达性、对象标识、不可枚举性与垃圾回收边界。 高级 9分钟 · 来自 WeakMap 与 WeakSet js 找出 bug 新题 找出环检测里的 bug 用弱键集合关联对象元数据和成员状态,理解可达性、对象标识、不可枚举性与垃圾回收边界。 高级 4分钟 · 来自 WeakMap 与 WeakSet