模块化Modules

函数变量 与 函数表达式Function Variables and Expressions

单选题

下面每段代码运行后,都会看到什么结果,是否会报错

1.
1 2 3 4 5
function f() { return 3;}const f1 = f;console.log(f1);
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

2.
1 2 3 4 5
function f() { return 3;}const f1 = f();console.log(f1);
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

3.
1 2 3 4 5
function f() { return 3;}const f1 = f;console.log(f1());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

4.
1 2 3 4 5
function f() { return 3;}const f1 = f();console.log(f1());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

单选题

下面哪段代码在执行时,能看到输出 echo

A
1 2 3
function f() { console.log('echo');}
B
1 2 3
(function () { console.log('echo');})
C
1 2 3
function () { console.log('echo');}()
D
1 2 3
(function () { console.log('echo');})()

判断题

判断下面每段代码,是否会在高亮处发生什么

1.
1 2 3 4
f();function f() { console.log('ok');}
A

会看到 ok

B

会报错

2.
1 2 3 4
f();const f = function () { console.log('ok');}
A

会看到 ok

B

会报错

3.
1 2 3 4
f();var f = function () { console.log('ok');}
A

会看到 ok

B

会报错

4.
1 2 3 4
f();(function f() { console.log('ok');})
A

会看到 ok

B

会报错

函数作为返回值Function as Return Value

单选题

下面每段代码运行后,都会看到什么结果,是否会报错

1.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f;console.log(f1);
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

2.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f();console.log(f1);
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

3.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f()();console.log(f1);
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

4.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f;console.log(f1());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

5.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f();console.log(f1());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

6.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f()();console.log(f1());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

7.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f;console.log(f1()());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

8.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f();console.log(f1()());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

9.
1 2 3 4 5 6 7
function f() { return function () { return 3; }}const f1 = f()();console.log(f1()());
A

会报错

B

3

C

会看到类似 [Function: f] 的信息

闭包Closure

阅读题

下面这段代码,运行后的结果是

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
let v1 = 0;function closure() { let v2 = 0; return () { let v3 = 0; v1++; v2++; v3++; console.log(`${v1} ${v2} ${v3}`); }}const c1 = closure();c1();const c2 = closure();c2();c1();
答案
1 1 1
2 1 1
3 2 1

CommonJS 模块化Modules using CommonJS

代码题

使用 CommonJS

优化之前写过的项目

猜数字

Q10

五子棋

Q56

1024

Q57

黑白棋

Q58

ES6 Modules 模块化Modules using ES6 Modules

代码题

使用 ES6 Modules

优化之前写过的项目

猜数字

Q10

五子棋

Q56

1024

Q57

黑白棋

Q58

NPM 包管理Node Package Manager

理解题

回顾 API 补充章节,关于命令行输入的步骤。

理解这一步步都干了些什么

API 补充

ZZAX 微信公众

文档一更新,立刻告诉你