文章永久连接:https://tech.souyunku.com/?p=5428
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")
tech.souyunku.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)
>
干货推荐
附录:Node.js 教程:系列文章
- 一、Node.js 基础教程
- 二、Node.js 环境配置
- 三、Node.js 创建第一个应用
- 四、Node.js NPM 使用介绍
- 五、Node.js 使用淘宝 NPM 镜像
- 【当前读到】六、Node.js REPL ( 交互式解释器 )
- 七、Node.js 回调函数
- 八、Node.js 事件循环
- 九、Node.js EventEmitter
- 十、Node.js Buffer(缓冲区)
- 十一、Node.js Stream (流)
- 十二、Node.js 模块系统
- 十三、Node.js 函数
- 十四、Node.js 开发 URL 路由
- 十五、Node.js 全局对象
- 十六、Node.js 常用工具
- 十七、Node.js 文件系统( fs 模块 )
- 十八、Node.js GET-POST 请求
- 十九、Node.js 内置模块
- 二十、Node.js WEB 模块
- 二十一、Node.js Express 框架
- 二十二、Node.js RESTful API
- 二十三、Node.js 多进程
- 二十四、Node.js JXcore 打包
- 二十五、Node.js 访问 MySQL 数据库
- 二十六、Node.js 访问 MongoDB
- 二十七、Node.js OS 模块
- 二十八、Node.js DNS 模块
- 二十九、Node.js Domain 模块
- 三十、Node.js Path 模块
- 三十一、Node.js Net 模块