Q1选择题难度 1
1/12
JavaScript 核心 · 初级 21
记忆强度
关于下列循环创建的三个函数,调用结果正确的是哪一项?
const callbacks = [];
for (let i = 0; i < 3; i++) {
callbacks.push(() => i);
}
console.log(callbacks.map(fn => fn()));
JavaScript 核心初级题库第 21 组,共 12 张卡片。
JavaScript 核心 · 初级 21
const callbacks = [];
for (let i = 0; i < 3; i++) {
callbacks.push(() => i);
}
console.log(callbacks.map(fn => fn()));
- A(正确):每轮迭代都有可被对应闭包捕获的 i 绑定,三个函数分别读取各自环境中的数值,所以最终数组是 [0, 1, 2]。
正则表达式中的“非”没有唯一写法,应根据否定对象选择机制:字符类开头的 ^ 表示排除某些单个字符;
- A(错误):严格相等算法明确规定 NaN 不等于任何数值,其中也包括另一个 NaN,因此该表达式的结果是 false。
- A(错误):普通可扩展对象的内部原型通常可以通过标准 API 修改,因此创建时指定的 protoA 并非在所有情况下永久固定。
- A(正确):该项准确区分了属性枚举协议与可迭代协议:前者处理可枚举字符串键,后者使用数组迭代器产生索引位置上的值。
Fetch API 是近年来被提及将要取代XHR的技术新标准,是一个 HTML5 的 API。
正确答案是 B:事件传播的完整逻辑可概括为“事件捕获 → 目标节点上的事件处理 → 事件冒泡”。
正确选项是 C,输出结果为 10。
本题选择 C,输出顺序为 object window。
- 作用:能够在函数定义的作用域外,使用函数定义作用域内的局部变量,并且不会污染全局。
正确答案是 C,最终输出 undefined。
Ajax是一种异步请求数据的web开发技术,对于改善用户的体验和页面性能很有帮助。