在审查 JavaScript 概念时,我发现了 String.normalize()
。这不是出现在 W3School 的“JavaScript字符串参考”中的东西,因此可能是我之前错过它的原因。
我在 HackerRank 上找到了更多关于它的信息,其中写道:
返回包含调用字符串值的 Unicode 标准化形式的字符串。
附带示例:
var s = "HackerRank";
console.log(s.normalize());
console.log(s.normalize("NFKC"));
输出:
HackerRank
HackerRank
在 GeeksForGeeks 中,还有以下内容:
string.normalize() 是 JavaScript 的一个内置函数,用于返回给定输入字符串的 Unicode 正规化形式。
示例:
<script>
// Taking a string as input.
var a = "GeeksForGeeks";
// calling normalize function.
b = a.normalize('NFC')
c = a.normalize('NFD')
d = a.normalize('NFKC')
e = a.normalize('NFKD')
// Printing normalised form.
document.write(b +"<br>");
document.write(c +"<br>");
document.write(d +"<br>");
document.write(e);
</script>
输出结果为:
GeeksForGeeks
GeeksForGeeks
GeeksForGeeks
GeeksForGeeks
也许给出的示例真的很糟糕,因为它们没有让我看到任何变化。
我想知道...这种方法有什么意义呢?
String.prototype.normalize()
从技术上讲是正确的,因为normalize()
是你在实例上调用的动态方法,而不是类本身。normalize()
的目的是为了能够比较看起来相同但由不同字符组成的字符串,正如在 MDN 上的示例代码中所示。 - user5734311normalize()
函数编写“文档”,却使用纯ASCII字符串进行演示…… - Niet the Dark Absol