开始使用Node.js REPL
Node.jsRead-Eval-Print-Loop (REPL)是一个易于使用的命令行工具,用于处理Node.js表达式。它捕捉用户的JavaScript代码输入,解释并评估该代码的结果。它将结果显示在屏幕上,并重复这一过程,直到用户退出shell。
还需要注意的是,这个工具不需要创建文件来编写代码。REPL在Node.js开发环境中可随时使用。
REPL有以下功能。
- 一个读取函数,它接受来自用户的表达式,并将其解析为内存中的数据结构。
- 一个评估函数,它接受数据结构并评估表达式。
- 一个打印函数,用于打印结果。
- 循环函数,运行上面的三个命令,直到终止。
在本教程中,我们将学习Node.js REPL的基础知识,以及如何使用这个神奇的工具来运行脚本,而无需创建.js 。
前提条件
本教程要求。
- 在你开发的本地机器上安装[Node.js]。
- 对[JavaScript]和[Node.js]有基本了解。
目标
在本教程结束时,你应该能够。
- 理解Node.js REPL工具的基础知识。
- 执行各种算术运算。
- 在 REPL 中创建和使用函数。
- 创建全局变量。
开始使用 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) ,它需要两个参数:firstNumber 和lastNumber 。这个函数,无论何时被调用,都会记录出这两个数字的相加。
输出。
> 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 会话结束前仍可访问。