Javascript的特性在于它是非阻塞IO的(具体的这个词什么意思可以看相关资料这里暂不赘述) 因此它不能像C语言那样scanf然后printf

但这里讲一下这个设计的原因。因为Javascript的设计初衷就在是为了设计一款专门在浏览器中运行的语言。因此它基本上不会有要用户输入才给予回复的情况,它就是一条线一直走到底不中断的。数据的通常是通过常量常量直接定义或者是调用api来获取的。

但如果你一定想要有类似阻塞式IO那样直接阻塞式读取控制台输入的内置函数的体验 这里推荐一个Node自带的方法

const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.question("请输入一个数字: ", (answer) => {
const num = Number(answer);
console.log(`你输入的数字是: ${num}`);
rl.close();
});

当然如果你学习了npm也可以用第三方库prompt-sync:来实现

const prompt = require("prompt-sync")();
const name = prompt("请输入你的名字: ");
const age = Number(prompt("请输入你的年龄: "));
console.log(`你好, ${name}, 你今年 ${age} 岁`);

但显然那个阶段的前端学习者我推荐直接开始用网页的api(比如读取一个输入框的文字)来实现测试一个函数不同的输入了

至于输出javascript的输出则非常简单,就是通过使用console.log函数。以下是一个example

console.log("Hello World"); //输出"Hello World"
let x = 1;
console.log(x); //输出"1"