全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

JS中级技能认证

20 题 45 分钟 难度:

考察知识点

知识模块题数核心考点
原型链与继承5题原型链查找机制、继承实现方式、原型操作
异步进阶与并发控制4题Promise高级用法、异步流程控制、并发限制
模块化与工程化基础4题Webpack配置、模块规范、打包优化
浏览器与DOM高级4题事件委托、性能优化、DOM高级操作
高级语法与特性3题原型链深入、ES6+高级特性、代码执行分析
1
单选题

以下代码的输出结果是什么?

JavaScript
function Parent() {}
Parent.prototype.name = 'parent';

const child = new Parent();
child.name = 'child';

console.log(child.name);
delete child.name;
console.log(child.name);
A

'child' 然后是 'parent'

B

'child' 然后是 undefined

C

'parent' 然后是 'parent'

D

'parent' 然后是 undefined

2
判断题

在JavaScript中,所有原型链的终点都是 Object.prototype

A

B

3
多选题

关于构造函数和原型的关系,以下说法正确的有哪些?

A

每个构造函数都有一个 prototype 属性,指向一个原型对象

B

构造函数的 prototype 属性默认包含一个 constructor 属性,指向构造函数本身

C

通过 new 创建的实例,其 proto 指向构造函数的 prototype

D

构造函数本身也是一个对象,所以它也有 proto 属性

E

修改构造函数的 prototype 会影响已创建实例的原型链指向

4
单选题

以下代码的输出结果是什么?

JavaScript
function Person(name) {
    this.name = name;
    return { age: 18 };
}

const p = new Person('Tom');
console.log(p.name);
console.log(p.age);
A

'Tom', undefined

B

'Tom', 18

C

undefined, 18

D

报错

5
单选题

以下代码的输出结果是什么?

JavaScript
function Foo() {}
const f1 = new Foo();

Foo.prototype = { name: 'bar' };

const f2 = new Foo();
console.log(f1.name);
console.log(f2.name);
A

undefined, 'bar'

B

'bar', 'bar'

C

undefined, undefined

D

报错

6
单选题

以下代码的输出结果是什么?

JavaScript
async function* asyncGenerator() {
    yield Promise.resolve(1);
    yield Promise.resolve(2);
    yield Promise.resolve(3);
}

(async () => {
    for await (const value of asyncGenerator()) {
        console.log(value);
    }
})();
A

1, 2, 3 依次输出

B

Promise {1}, Promise {2}, Promise {3} 依次输出

C

undefined 输出三次

D

报错:asyncGenerator 不是可迭代对象

7
判断题

对象可以同时实现 [Symbol.iterator]()[Symbol.asyncIterator](),使其既支持 for...of 又支持 for await...of

A

B

8
单选题

以下代码的输出结果是什么?

JavaScript
function* gen() {
    try {
        yield 1;
        yield 2;
        yield 3;
    } finally {
        console.log('cleanup');
    }
}

const g = gen();
console.log(g.next());
console.log(g.return(100));
console.log(g.next());
A

{value:1,done:false}, {value:100,done:true}, cleanup输出, {value:undefined,done:true}

B

{value:1,done:false}, cleanup输出, {value:100,done:true}, {value:undefined,done:true}

C

{value:1,done:false}, {value:100,done:true}, {value:undefined,done:true}

D

{value:1,done:false}, cleanup输出, {value:100,done:true}, cleanup输出

9
判断题

Generator 函数不能作为构造函数使用,不能通过 new 关键字调用。

A

B

10
单选题

关于Webpack的核心配置,以下说法正确的是?

A

entry配置只能是字符串,不能是对象或数组

B

output.path配置的是打包输出文件的名称

C

loader用于转换非JavaScript文件,plugin用于执行更广泛的任务

D

mode只能设置为development或production两种模式

11
多选题

关于Webpack Dev Server的配置和功能,以下说法正确的有?

A

hot设置为true可以启用模块热替换(HMR)

B

proxy配置可以实现API请求的代理转发

C

historyApiFallback配置用于支持SPA应用的路由回退

D

contentBase配置用于指定静态资源服务的目录

12
判断题

yarn最初发布时的主要优势之一是支持并行安装包,而npm 5之前的版本是串行安装包的,npm 5及以后版本也支持并行安装了。

A

B

13
单选题

关于npx命令的作用,以下说法正确的是?

A

npx只能执行已全局安装的npm包

B

npx执行包时,如果本地未安装会自动下载到临时目录执行

C

npx和npm run的作用完全相同

D

npx执行完毕后会保留下载的包到node_modules

14
单选题

关于事件委托(Event Delegation)的实现原理,以下说法正确的是?

A

事件委托利用事件捕获机制,在父元素上处理子元素的事件

B

事件委托利用事件冒泡机制,在父元素上统一处理子元素的事件

C

事件委托只能用于click事件,不能用于其他类型的事件

D

事件委托会阻止事件继续冒泡到更上层的元素

15
判断题

addEventListener的passive选项设置为true时,表示监听函数不会调用preventDefault()阻止默认行为,浏览器可以不用等待监听函数执行完成就立即开始默认行为,从而提升滚动性能。

A

B

16
填空题

使用removeEventListener移除事件监听时,必须传入与addEventListener相同的________________和useCapture参数。如果监听时使用了匿名函数,则无法移除该监听器。

17
单选题

关于BOM(Browser Object Model)的window对象,以下说法正确的是?

A

window对象代表浏览器窗口,是JavaScript在浏览器中的全局对象

B

window对象的属性和方法只能在脚本中显式通过window访问

C

window.onload和window.DOMContentLoaded事件触发时机相同

D

window对象无法访问框架或窗口的其他window对象

18
单选题

以下代码的输出结果是什么?

JavaScript
function Foo() {}
Foo.prototype.a = 1;

const foo = new Foo();
Foo.prototype = { b: 2 };

console.log(foo.a, foo.b);
A

1 undefined

B

undefined 2

C

1 2

D

undefined undefined

19
判断题

当对象自身属性和原型链上存在同名属性时,访问该属性会返回原型链上的值。

A

B

20
填空题

在 ES Modules 中,重新导出另一个模块的所有导出内容,应使用语法:_____________ 'module-path';若要同时导入并重新导出,应使用:_______________ 'module-path';若要将默认导出转为命名导出重新导出,应使用:_____________________ newName from 'module-path'。

← 上一个试卷 JSDOM操作与事件专题测试
下一个试卷 → JS函数与作用域专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库