首页 > 代码库 > [Node.js]REPL(交互式解释器)

[Node.js]REPL(交互式解释器)

摘要

REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。

Node交互解释器

node自带的交互解释器可以完成以下任务:

  1. 读取:读取用户输入,解析输了js数据结构并存储在内存中。
  2. 执行:执行输入的数据结构。
  3. 打印:输出结果。
  4. 循环:循环操作以上步骤知道用户两次按下ctrl+c按钮退出。

windows启动node交互解析器

技术分享

技术分享

如上图,在> 后面就可以输入简单的表达式,按回车进行计算。

技术分享
变量
可以将数据存储在变量中,并在你需要的时候使用它。
声明变量使用var关键字。如果没有使用var,会直接打印出来。
使用var关键字的变量可以使用console.log()来打印。
技术分享
多行表达式
如下do-while循环
技术分享
下划线(_)变量
可以使用_获取表达式运算结果。
技术分享

REPL命令

  • ctrl+c:退出当前终端。

技术分享

  • tab:列出当前命令。
Array                                BooleanDate                                 ErrorEvalError                            FunctionInfinity                             JSONMath                                 NaNNumber                               ObjectRangeError                           ReferenceErrorRegExp                               StringSyntaxError                          TypeErrorURIError                             decodeURIdecodeURIComponent                   encodeURIencodeURIComponent                   evalisFinite                             isNaNparseFloat                           parseIntundefinedArrayBuffer                          BufferCOUNTER_HTTP_CLIENT_REQUEST          COUNTER_HTTP_CLIENT_RESPONSECOUNTER_HTTP_SERVER_REQUEST          COUNTER_HTTP_SERVER_RESPONSECOUNTER_NET_SERVER_CONNECTION        COUNTER_NET_SERVER_CONNECTION_CLOSEDTRACE_HTTP_CLIENT_REQUEST           DTRACE_HTTP_CLIENT_RESPONSEDTRACE_HTTP_SERVER_REQUEST           DTRACE_HTTP_SERVER_RESPONSEDTRACE_NET_SERVER_CONNECTION         DTRACE_NET_STREAM_ENDDataView                             Float32ArrayFloat64Array                         GLOBALInt16Array                           Int32ArrayInt8Array                            IntlMap                                  PromiseProxy                                ReflectSet                                  SymbolUint16Array                          Uint32ArrayUint8Array                           Uint8ClampedArrayWeakMap                              WeakSet_                                    assertbuffer                               child_processclearImmediate                       clearIntervalclearTimeout                         clusterconsole                              cryptodgram                                dnsdomain                               escapeevents                               fsglobal                               httphttps                                modulenet                                  ospath                                 processpunycode                             querystringreadline                             replrequire                              rootsetImmediate                         setIntervalsetTimeout                           streamstring_decoder                       tlstty                                  unescapeurl                                  utilv8                                   vmx                                    yzlib__defineGetter__                     __defineSetter____lookupGetter__                     __lookupSetter____proto__                            constructorhasOwnProperty                       isPrototypeOfpropertyIsEnumerable                 toLocaleStringtoString                             valueOf
  • .help - 列出使用命令

  • .break - 退出多行表达式

  • .clear - 退出多行表达式

  • .save filename - 保存当前的 Node REPL 会话到指定文件

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

学习资料

http://www.runoob.com/nodejs/nodejs-repl.html

[Node.js]REPL(交互式解释器)