当前位置: 首页 > 面试题库 >

JavaScript等同于printf / String.Format

李振国
2023-03-14
问题内容

我正在寻找一种等效于C / PHP printf()或C#/
Java程序员String.Format()IFormatProvider适用于.NET)的JavaScript 。

我的基本要求是现在使用数字的千位分隔符格式,但是可以处理很多组合(包括日期)的东西会很好。

我意识到Microsoft的Ajax库提供了的版本String.Format(),但我们不希望该框架的全部开销。


问题答案:

从ES6开始,您可以使用模板字符串:

let soMany = 10;
console.log(`This is ${soMany} times easier!`);
// "This is 10 times easier!

除此以外:

尝试sprintf()for JavaScript。

如果您真的想自己做一个简单的格式化方法,请不要先后进行替换,而要同时进行。

因为前面提到的其他替换提议中的大多数其他提议都失败了,而先前的替换字符串也包含这样的格式序列:

"{0}{1}".format("{1}", "{0}")

通常,您希望输出为,{1}{0}但实际输出为{1}{1}



 类似资料:
  • 问题内容: 在PHP中可以做到。在JavaScript中,您通常会使用相同的方法,但这并不完全相同。如果确实存在,但条件是或(或可能还有其他值),则条件也将评估为false 。 JavaScript 中PHP的完美替代品是什么? 从更广泛的意义上讲,有关JavaScript处理不存在的变量,没有值的变量等的通用完整指南会很方便。 问题答案: 我通常使用运算符: 如果该属性不存在或其值是,它将返回。

  • 问题内容: 显然,这比我想象的要难找到。而且甚至很简单… 是否有与Javascript中内置的PHP htmlspecialchars等效的功能?我知道自己很容易实现,但是使用内置函数(如果可用)会更好。 对于不熟悉PHP的人,htmlspecialchars可将类似的内容转换为 我知道这一点,因此不能这样工作。 问题答案: 解决方案代码存在问题-它只会转义每个特殊字符的第一次出现。例如: 这是正

  • 问题内容: JavaScript中是否有一种方法可以比较一个数组中的值并查看它是否在另一个数组中? 类似于PHP的功能? 问题答案: 不,它没有一个。因此,大多数流行的库在其实用程序包中都附带一个库。查看jQuery的inArray和Prototype的Array.indexOf的示例。 jQuery的实现就像您期望的那样简单: 如果您要处理大量的数组元素,那么上面的技巧就可以很好地解决问题。 编

  • 问题内容: 我试图找到与此JavaScript方法调用等效的jQuery: 我已经达到: 但这并不能达到与JavaScript方法的最后一个参数相同的结果-一个布尔值,指示是否应在捕获或冒泡阶段执行事件处理程序根据我对理解被排除在外。 如何使用jQuery指定该参数或以其他方式实现相同的功能? 问题答案: 并非所有浏览器都支持事件捕获(例如,InternetExplorer版本低于9)不支持事件捕

  • 问题内容: 该表示法是: 实际上不哈希对象;它实际上只是转换为字符串(通过它是一个对象,还是其他各种原始类型的内置转换),然后在“ ”中查找该字符串,而不对其进行哈希处理。也不会检查对象是否相等-如果两个不同的对象具有相同的字符串转换,则它们将彼此覆盖。 鉴于此-在JavaScript中是否有任何有效的hashmap实现?(例如,第二个Google结果产生的实现对任何操作都是O(n)。其他各种结果

  • 我目前正在Codecademy上学习JavaScript,我遇到了一些问题。我在一个叫做“建造石头,布,剪刀”的部分,有一个部分有一个条件,如果数学。random()大于0.33小于0.66,计算机将选择纸张。我的问题是,如何建立一个if条件,即某个东西大于X,但同时小于Y?