我在很多其他语言中看到过这种情况,但不是JavaScript。
我正在尝试这样的问题:这个(codechef.com),当然程序需要能够像C ++和其他语言那样读取标准。
编辑:谢谢你的回答。我想要这个功能的主要原因是我可以回答CodeChef上的问题; Codechef将多个输入发送到作为答案的文件/程序(当然程序必须以所需的方式响应才能使答案正确)。答案 0 :(得分:11)
如果您使用node作为终端中的解释器,您可以使用:
---- name.js ----
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question(">>What's your name? ", function(answer) {
console.log("Hello " + answer);
rl.close();
});
----- terminal ----
node name.js
答案 1 :(得分:8)
这取决于您的JavaScript正在执行的环境。
在浏览器中,没有标准输入(浏览器不是控制台)。输入通常来自页面上某个表单中的某个文本框元素。
如果您正在使用类似Rhino的内容,那么您可以导入标准Java I / O类并以这种方式从stdin读取(查看第二个example 否在wiki上更长。)
答案 2 :(得分:2)
仅使用 readline()
var a = readLine();
您输入的值将存储在变量a中。
readline():从stdin读取单行输入,并将其返回给调用方。您可以使用它在JavaScript中创建交互式shell程序。
答案 3 :(得分:1)
它不在ECMAScript(标准化版本的JavaScript)标准库中。但是,JavaScript的某些实现确实包含它。例如,CommonJS(由几个浏览器外的JavaScript环境使用)具有system.stdin属性。 Rhino可以使用Java的标准输入类。
如果您只是尝试练习编程,可以使用textarea代替标准输入。
答案 4 :(得分:1)
在像interviewstreet这样的某些环境中,它们为您提供了一个函数,其中所有输入都以字符串的形式作为参数出现。
一次输入所有内容。
然后你必须解析该输入以从该字符串中获取各种标记。
在此之后你应该更好地编写代码。