J'utilise actuellement spidermonkey pour exécuter mon code JavaScript. Je me demande s'il y a une fonction pour obtenir des entrées de la console similaire à la façon dont Python fait cela:
var = raw_input()
Ou en C++:
std::cin >> var;
J'ai regardé autour de moi et tout ce que j'ai trouvé jusqu'à présent est de savoir comment obtenir une entrée du navigateur en utilisant les fonctions Prompt () et confirm ().
Bonne vieille readline ();
Voir les documents MDN: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_Shell#readline.28.29
En JavaScript simple, utilisez simplement response = readline()
après avoir imprimé une invite.
Dans Node.js, vous devrez utiliser le module readline : const readline = require('readline')
Comme vous l'avez mentionné, Prompt
fonctionne pour les navigateurs depuis IE:
var answer = Prompt('question', 'defaultAnswer');
Pour Node.js> v7.6, vous pouvez utiliser console-read-write
, qui est un wrapper autour du module de bas niveau readline
:
const io = require('console-read-write');
async function main() {
// Simple readline scenario
io.write('I will echo whatever you write!');
io.write(await io.read());
// Simple question scenario
io.write(`hello ${await io.ask('Who are you?')}!`);
// Since you are not blocking the IO, you can go wild with while loops!
let saidHi = false;
while (!saidHi) {
io.write('Say hi or I will repeat...');
saidHi = await io.read() === 'hi';
}
io.write('Thanks! Now you may leave.');
}
main();
// I will echo whatever you write!
// > ok
// ok
// Who are you? someone
// hello someone!
// Say hi or I will repeat...
// > no
// Say hi or I will repeat...
// > ok
// Say hi or I will repeat...
// > hi
// Thanks! Now you may leave.
Divulgation Je suis auteur et mainteneur de console-lecture-écriture
Pour SpiderMonkey, simple readline
comme suggéré par @ MooGoo et @ Zaz .