开始学习使用Node.js REPL

103 阅读5分钟

开始使用Node.js REPL

Node.jsRead-Eval-Print-Loop (REPL)是一个易于使用的命令行工具,用于处理Node.js表达式。它捕捉用户的JavaScript代码输入,解释并评估该代码的结果。它将结果显示在屏幕上,并重复这一过程,直到用户退出shell。

还需要注意的是,这个工具不需要创建文件来编写代码。REPL在Node.js开发环境中可随时使用。

REPL有以下功能。

  • 一个读取函数,它接受来自用户的表达式,并将其解析为内存中的数据结构。
  • 一个评估函数,它接受数据结构并评估表达式。
  • 一个打印函数,用于打印结果。
  • 循环函数,运行上面的三个命令,直到终止。

在本教程中,我们将学习Node.js REPL的基础知识,以及如何使用这个神奇的工具来运行脚本,而无需创建.js

前提条件

本教程要求。

  1. 在你开发的本地机器上安装[Node.js]。
  2. 对[JavaScript]和[Node.js]有基本了解。

目标

在本教程结束时,你应该能够。

  1. 理解Node.js REPL工具的基础知识。
  2. 执行各种算术运算。
  3. 在 REPL 中创建和使用函数。
  4. 创建全局变量。

开始使用 REPL

在终端输入以下内容。

node

输出。

> 

在终端中输入命令node ,启动REPL命令行工具,由> 符号表示。这个符号作为一个指标,表明JavaScript已经准备好读取和评估你的代码。

我们可以通过使用REPL打印hello world ,来测试其功能,如下图所示。

node
> let hello = 'hello world';
undefined
> hello
'hello world'  // output
> 

在脚本中,我们把文本hello world 赋给一个叫做hello 的变量。现在,在调用这个变量hello ,我们在命令壳上得到hello world 的输出。你还会注意到,在按下ENTER键后,undefined ,被打印出来。

JavaScript函数总是返回一些东西。如果你没有在函数中指定要返回的东西,默认会返回 "undefined"。这并不影响什么,你可以忽略它。

要退出REPL,请按键盘上的Ctrl+C

输出。

> let hello = 'hello world';
undefined
> hello
'hello world'
> 
(To exit, press Ctrl+C again or Ctrl+D or type .exit)
> 

如输出所示,你也可以使用Ctrl+D ,或输入.exit

使用REPL执行代码

如前所述,该工具通过提供快速测试Node.js代码的方法简化了工作,而无需创建文件。

还需要注意的是,任何有效的JavaScript代码都可以使用REPL执行。

在 REPL 中执行算术运算

在前面的例子中,我们在屏幕上打印了hello world 字符串,在本节中,让我们深入了解一下算术。

在你的终端,启动 REPL。

node
> 

让我们分别执行基本的加法、减法、模数、除法和乘法。

输出。

> 2+2
4
> 5-2
3
> 10%3
1
> 20/2
10
> 10*2
20
> 

使用Node.js的数学库进行运算

数学库是一个具有定义方法和属性的对象。因此,我们可以使用这些功能来执行一些算术。

例子。

> function getRandomNumber(maximum) {
... let result = Math.random()*maximum;
... return Math.floor(result);
... }
undefined

输出。

> console.log(getRandomNumber(20));
12
undefined
> 

在 REPL 中,我们定义了getRandomNumber(args) 并传递给它一个最大的数字。该方法使用Math.floor() ,以返回一个小于或等于给定数字的大随机整数。

需要注意的是,Math.random() 并不提供安全的随机数。不要在与安全有关的任务中使用它们。

使用 REPL 调用方法 (函数)

通常情况下,我们写函数来处理特定的任务。REPL提供了一种处理这些方法的简单方法。在JavaScript中,我们通常使用console.log() 全局方法来打印消息。

让我们在提示符中输入以下内容。

node
> console.log('Hello world');

输出。

Hello world
undefined # this is the return value of this method, console.log()
> 

当你按下ENTER时,输出显示如上所示。

接下来,让我们创建一个函数来加两个数字。

> function addTwoNumbers(firstNumber,lastNumber) {
... console.log(firstNumber + lastNumber)
... }
undefined

我们有一个函数addTwoNumbers(arguments) ,它需要两个参数:firstNumberlastNumber 。这个函数,无论何时被调用,都会记录出这两个数字的相加。

输出。

> addTwoNumbers(20,40);
60
undefined
> 

我们调用这个方法,并将两个参数addTwoNumbers(20,40) (你可以自由传递任何整数值)。按ENTER键,结果就会显示在屏幕上,如上图所示。

使用REPL创建变量

创建变量的工作与在你的.js 文件中的工作相同。

让我们看一个例子。

node
> let name = 'john doe';

调用name 并按下ENTER时的输出。

undefined
> name
'john doe'
> 

这个变量name 将保持活动状态,直到你退出 REPL 窗口会话。这意味着你甚至可以把这个字符串与另一个字符串连接起来。

比如说。

node
> let name = 'john doe';
undefined
> name
'john doe'
> name+ ' is a student at Stanford';
'john doe is a student at Stanford'
> 

结论

在本教程中,我们已经看到了如何使用交互式 Node.js REPL 工具环境。我们使用 REPL 进行了各种算术操作。

我们还在 REPL 环境中导入了数学库,并访问了几种方法来执行算术运算,如生成随机数。

我们学习了如何在 REPL 中创建和使用各种方法和变量。我们注意到,这些定义的方式与它们在.js文件中的定义相同。我们还观察到,所创建的变量在 REPL 会话结束前仍可访问。