JavaScript 等价于 Printf 或 String.Format 的函数

Tahseen Tauseef 2023年10月12日
JavaScript 等价于 Printf 或 String.Format 的函数

本文将描述 JavaScript 中 printfString.Format 的替代方案。

printf 是我们在大多数编程语言中使用的函数,例如 CPHPJava。此标准输出功能允许你在控制台上打印字符串或语句。

但是在 JavaScript 中,我们不能使用 printf,所以我们需要它的替代品,我们将在这里讨论。除此之外,我们有时会使用格式说明符来自定义输出格式。

在 JavaScript 中使用 console.log()

这里的一种选择是使用 console.log 在控制台上打印一些东西。这是在 ES6 更新后提供的,它的工作方式与 printf 的工作方式非常相似。

console.log 非常简单,当然是开发人员中最常见的。让我们看一下下面的代码片段,以了解 JavaScript 中 console.log 的工作原理。

function example() {
  let i = 5;
  console.log(i);
}
example();

我们在此代码段中使用 let 关键字声明了一个变量,并将其打印在控制台上。因此,我们使用 console.log(i) 检索变量 i 的值并将其打印在控制台屏幕上。

如果我们想打印一些字符串或一些随机文本,我们可以通过以下方式使用 console.log

function example() {
  console.log('Hello');
}
example();

如你所见,在此代码段中,我们使用了 console.log 并在 ' 中输入了我们想要打印的文本。它是如何在 JavaScript 中使用 console.log 打印普通文本项目。

这表明 console.logprintf 的最简单和容易的替代品。但是如果你想自定义输出的格式,那么我们可以创建一个自定义原型来创建 String.Format 功能。

我们可以看到以下代码段作为示例:

String.prototype.format = function() {
  var args = arguments;
  return this.replace(/{(\d+)}/g, function(match, number) {
    return typeof args[number] != 'undefined' ? args[number] : match;
  });
};
console.log(
    '{0} was used as placeholder, furthermore {1} is used as the second argument {0} {2}'
        .format('C language', 'C sharp'));

我们创建了一个自定义原型函数,附加到此代码段中的每个 JavaScript 字符串对象。格式函数的作用是获取字符串并查找 {},并将其中的数字替换为该索引处提供的参数。

因此,{0}C language 替换,{1}C sharp 替换。但是 {2} 保持原样,因为我们没有为 {2} 占位符提供任何参数。

如果你提供第三个参数,括号 {2} 将替换为第三个参数。它可能有助于你理解自定义 String.prototype.format 函数。

相关文章 - JavaScript String