06、Node.js REPL ( 交互式解释器 )

REPL (Read Eval Print Loop,中文叫做交互式解释器) 是 Node.js 内置的一个实时解释环境

我们可以在 REPL 中输入命令,并能立即得到系统的响应,输出结果

Node.js 自带的 REPL 可以完成以下几种任务:

1、 读取输入

读取用户输入,并存储在内存中

2、 执行语句;

执行用户输入的语句

3、 打印;

输入执行语句的结果

4、 循环;

循环操作以上步骤直到用户按下两次 **CTRL + C** 按钮退出

因为Node.js 基于 JavaScript,所以我们可以使用 REPL 调试 Javascript 代码

开始学习 REPL

在终端里输入 node 命令可以启动 Node.js REPL

$ node
>

然后我们就可以在 >` 后面输入简单的 JavaScript 表达式,然后按下回车键查看结果

REPL 表达式运算

Node.js REPL 可以运行 JavaScript 支持的各种运算符

$ node 
> 7 + 13
20
> 13 / 7
1、8571428571428572
> 7 * 13
91
> 7 - 13
-6
> 5 * ( 8 / 2 ) + 13
33
> 

REPL 使用变量

我们可以将数据在变量中,并在其它地方使用它

REPL 变量声明需要使用 var 关键字,如果没有使用 var 关键字变量会直接打印出来

console.log() 方法可以输出变量中的数据

$ node 
> x = 13
13
> x
13
> var y = 7
undefined
> x + y
20
> console.log( x + y )
20
undefined
> console.log("Hello World!")
Hello World!
undefined
> console.log( "www" + ".souyunku.cn")
ddkk.com
undefined
> 

REPL 支持多行表达式

Node.js REPL 支持输入多行表达式,接下来我们使用 REPL 运行一个 for 循环

$ node 
> for ( var i = 7; i < 13; i++) {
... console.log(i);
... }
7
8
9
10
11
12
undefined

三个点号(…) 是 REPL 自动生成的,代表了一种缩进,不用管它直接回车换行后即可。

REPL 下划线(_)运算符

Node.js REPL 支持 下划线运算符

下划线运算符会返回将上一个表达式的输出,可以理解为 _ 符号之前的 > 上的表达式的输出

$ node
> var x = 13
undefined
> _
undefined
> y = 7
7
> _
7
> x + y
20
> _
20
> var sum = _
undefined
> sum
20
> 

Node.js REPL 支持一些简单的命令

Node.js REPL 支持的命令如下

命令 说明
ctrl + c 退出当前终端
ctrl + c ctrl + c 退出 Node REPL
ctrl + d 退出 Node REPL
向上/向下 键 查看输入的历史命令
tab 键 列出当前命令
.help 列出使用命令
.break 退出多行表达式
.clear 退出多行表达式
.save filename 保存当前的 Node REPL 会话到指定文件
.load filename 载入当前 Node REPL 会话的文件内容

停止 REPL

上表中我们提到按下两次 ctrl + c 键就能退出 REPL

$ node
>
(^C again to quit)
>