练习 / 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