如何使用同一行中的console.log(或其他命令)命令在控制台中打印一些文字?
例如:
print 1;
print 2;
print 3;
控制台输出:123
答案 0 :(得分:1)
假设我理解正确,你想要一个等同于C#的Console.Write
的JavaScript,它将(a)字符追加到最后一行。
那是不可能的。
当控制台记录某些内容时,您将无法再访问它。你不能追加"对于记录的行,您无法更改它。
那就是说,你可以编写一个包装来模仿这种行为:
let logTimeout; // Keep track of the pending timeout
let logArguments = []; // Keep track of the passed loggable arguments
function log(...args) {
if (logTimeout) {
logTimeout = clearTimeout(logTimeout); // Reset the timeout if it's pending.
}
logArguments = logArguments.concat(args); // Add the new arguments.
logTimeout = setTimeout(() => { // Log all arguments after a short delay.
console.log(...logArguments);
logArguments.length = 0;
});
}
log(1);
log(2);
log(3);
log("foo");
log("bar");
log({crazy: "stuff"});
setTimeout(() => {
log(4);
log(5);
log(6);
log("baz");
log("woo");
log([{crazier: "stuff"}]);
}, 500);

请注意,此记录器是异步的。这意味着调用log
的代码将在实际记录某些内容之前运行完毕。