| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 前言:为了在PTA上用JavaScript做题,如何利用 Node.js 进行输入输出? -> 正文阅读 |
|
[JavaScript知识库]前言:为了在PTA上用JavaScript做题,如何利用 Node.js 进行输入输出? |
开始之前PTA的题解网上可以搜到一大堆,但是大多数是C、C++或者其他语言版的,总之,JavaScript版的很少。其原因并不是此处的重点,重点是,由于我主修的是JavaScript,同时我也很想用JavaScript来在PTA上做题,而在PTA上做题需要进行读取输入以及输出的操作,而JavaScript本来是没有标准输入输出这种东西的(和C/C++、Python等相比,它不算是一门后端语言),后来出现的Node.js使之变成了现实。尽管如此,现在网上也不太容易找到一篇专门讲解为了在PTA上用JavaScript做题,输入输出到底应该怎么做的教程,而这恰恰是很多用JavaScript刷PTA的新手的困惑之处。因此这篇文章就是来做这件事,详细讲解为了在PTA上用JavaScript做题,如何利用 Node.js 进行输入输出? 开始之前,假定读者使用的代码编写工具为vscode。因为这是一款颜值高、使用体验好的轻量级代码编辑器(打广告ing)——因为用它来写JavaScript代码还是很方便的,可以配置单独运行JavaScript文件的环境(只要简简单单安装个node还有Code Runner插件就行了,node安装教程推荐 同时建议用vscode运行js代码时放到终端输出,因为在“输出”那一栏输出的话有时候会出现中文乱码的情况,而且没有终端输出体验好。 基本输入操作现在正式开始,先把Node.js读取输入的最好用的模板放出来:
头两个const声明可以说是定式了,用的时候直接复制粘贴过去就行。 on方法每接受一行输入(碰到换行符认为一行输入完毕时)就会暂停接受输入,转而去执行on方法的第二个参数——那个函数(下文称其为回调函数)
何时使用rl.close()方法关于on方法还有一点需要注意的。上面说做题的主体代码需要放在回调函数里面(除了变量声明部分可以放在外面,我也推荐将变量声明部分放在外面),那么放在外面行不行呢?不行!看下面的图: 回归正题,何时使用 当然很明显这种影响也只有在多行输入的时候才会有,如果只有一行输入的话 这里在on方法外(也必须在on方法外!)声明了一个lineNumber变量来存储输入行的行号(从0开始,当然你想从1开始也可以),假设我们知道这个程序只接受4行的输入(实际上在PTA做题时多数需要多行输入的题目都是事先知道需要接受多少行输入的),那么上图中的 if 语句和 后面可以看看我的题解代码是怎么使用lineNumber变量来处理多行输入的,其实也很简单。 关于多行输入还有一个小技巧,就是我们在vscode上自己调试程序时如果在控制台手动一行一行输入的话是很麻烦的,即使是一行一行复制粘贴也是很麻烦的,我推荐在当前js文件的同级位置新建一个文本文件,将多行输入的内容放在里面,输入时可以直接将一整个多行的内容复制粘贴进控制台里,这样跟你一行一行输入进去的效果是一样的。 对了,最后再提一点:在vscode中断点调试js代码时,on方法内部的代码是无法调试的,调试到on方法时会直接跳过去。想要调试其内部代码的话就要把它们拎出来单独调试了。 关于用Node.js读取输入就讲这么多了,想要用得熟练就要在实战中慢慢练习了。 Node.js获取输入微总结
如何输出输出其实很简单,即
只要是用node运行的js代码都可以直接用这个方法。 有一点要特别注意!就是这个
好了,关于 Node.js 如何输入输出就讲到这里,剩下的就要靠大家自己去实战练习了。 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 3:58:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |