模块化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 补充