zoukankan      html  css  js  c++  java
  • Node.js 文档 repl (交互式解释器)

    名词解释

    Node.js REPL(Read Eval Print Loop) 交互式解释器,类似于window系统终端(CMD)或 Unix/Linux shell,主要功能便是 读取用户输入,执行命令,打印结果
    所以 REPL 可以很好的调试javascript代码,在一些应用场景中犹如利器,如:需要即可得知计算结果的时候

    常用命令

    Ctrl + c - 退出当前终端
    Ctrl + c 连续按两次 - 退出当前Node REPL
    Ctrl + d - 退出 Node REPL
    向上/向下键 - 查看输入的历史命令
    tab - 列出当前命令(当在空白行按下时,显示全局和本地作用域内的变量。当在输入时按下,显示相关的自动补全选项)
    .help - 列出使用命令
    .break - 退出多行表达式
    .clear - 退出多行表达式
    .save filename - 保存当前 Node REPL 会话到指定文件,其中filename为绝对路径
    .load filename - 载入当前 Node REPL 会话的文件内容,其中filename为绝对路径
    .editor - 进入编辑模式( Ctrl+D 完成 , Ctrl+C 取消)

    基本应用

    打开cmd或shell窗口,输入 node 回车

    1. 简单计算(输入简单计算表达式,回车即可即刻看到结果)
    node
    > 1+3
    > 4
    
    1. 使用变量存储数据
    变量声明需使用 var 关键字,若没有输入 var 关键字,则会直接打印出来
    使用 var 关键字声明的变量在需要时可以使用 console.log() 输出变量
    node
    > x=10
    > 10
    > var x=10
    > undefined
    > x+20
    > 30
    > console.log(x);
    > 10
    > undefined
    
    1. 多行表达式
    node
    > var x=0;
    > undefined
    > do{
    > ... x++;
    > ... console.log(x);
    > ... }while(x<5);
    > 1
    > 2
    > 3
    > 4
    > 5
    > undefined
    
    ...三个点的符号是系统生成的, Node依此检测是否为连续的表达式.
    打印变量 可以使用 console.log / console.error / console.info / console.warn 中任意一种,效果相同
    1. 获取运算结果
    使用下划线 _ 获取上一个表达式的运算结果
    node
    > var x=10;
    > undefined
    > x+5
    > 15
    > _
    > 15
    > var s = _;
    > undefined
    > s
    > 15
    

    升阶应用

    1. 自定义repl解释器输出函数(使其所有输入都转换成大写形式输出)
    const repl = require('repl');
    const r = repl.start({ prompt: '> ', eval: myEval, writer: myWriter });
    function myEval(cmd, context, filename, callback) {
      callback(null, cmd);
    }
    function myWriter(output) {
      return output.toUpperCase();
    }
    

    保存以上代码到文件(repl-upper.js)中. 然后像运行其他node程序一样运行这个文件

    node repl-upper.js
    > abc
    > ABC
    

    奇思妙用

    1. 开发时在交互界面下查看测试结果(不方便或未写测试用例时)
    2. 快速演示程序,而不需要录入一系列初始变量
    3. 开发基于Node.js的sheel程序

    参考文档 Node.js 文档 repl (交互式解释器)

  • 相关阅读:
    angular-ui-bootstrap插件API
    简易富文本编辑器bootstrap-wysiwyg源码注释
    deployd使用归纳
    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助
    COCOS2D-JS入门-官网template源码解析
    COCOS2D-JS入门-web端项目部署
    jQuery 插件格式
    react native 使用 native-echarts 在安卓上无法显示解决办法
    springboot项目启动报错Failed to configure a DataSource: 'url' attribute is not specified and no embedde
    Mac 上 Class JavaLaunchHelper is implemented in both 报错
  • 原文地址:https://www.cnblogs.com/CodeDeath/p/8309113.html
Copyright © 2011-2022 走看看