web-dev-qa-db-fra.com

Comment obtenir une entrée de console en javascript?

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 ().

52
camel_space
38
MooGoo

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')

12
Zaz

Comme vous l'avez mentionné, Prompt fonctionne pour les navigateurs depuis IE:

var answer = Prompt('question', 'defaultAnswer');

Prompt in IE

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 .

1
Keyvan