2.2 REPL的使用

REPL(Read Eval Print Loop,交互式解释器)表示一个计算机环境,类似于Windows系统的终端或UNIX/Linux Shell,可以在终端中输入命令,并接收系统的响应。

Node自带了交互式解释器,可以执行以下任务:

· 读取:读取用户输入,解析输入的JavaScript数据结构并存储在内存中。

· 执行:执行输入的数据结构。

· 打印:输出结果。

· 循环:循环操作以上步骤直到用户两次按下Ctrl+C按钮退出。

通过Node.js的交互式解释器可以很好地调试JavaScript代码,可以输入以下命令来启动Node的终端:

$ node
>

在>后输入简单的表达式,并按回车键来计算结果,例如:

$ node
> 5 + 4
9

在REPL中,可以将数据存储在变量中,在需要的时候使用,例如:

$ node
> x = 10
10
> var y = 20
undefined
> x + y
30
> console.log("Hello World")
Hello World
undefined

【示例2-1】Node REPL支持输入多行表达式,例如执行一个do-while循环。

$ node
> var x = 0
undefined
> do {
... x++;
... console.log("x: " + x);
... } while ( x < 5 );
x: 1
x: 2
x: 3
x: 4
x: 5
undefined
>

其中3个点的符号是系统自动生成的,按回车键换行后即可。Node会自动检测是否为连续的表达式。以上Node REPL输入与输出的交互式效果如图2.1所示。

图2.1 REPL示例

REPL的常用命令如下:

· Ctrl+C:退出当前终端。

· Ctrl+C按下两次:退出Node REPL。

· Ctrl+D:退出Node REPL。

· 向上/向下键:查看输入的历史命令。

· Tab键:列出当前命令。

· .help:列出使用命令。

· .break:退出多行表达式。

· .clear:退出多行表达式。

· .save filename:保存当前的Node REPL会话到指定文件。

· .load filename:载入当前Node REPL会话的文件内容。