协慌网

登录 贡献 社区

如何在 JavaScript 中创建字符串大写的第一个字母?

如何将字符串的第一个字母设为大写,但不更改任何其他字母的大小写?

例如:

  • "this is a test" - > "This is a test"
  • "the Eiffel Tower" - > "The Eiffel Tower"
  • "/index.html" - > "/index.html"

答案

function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}

其他一些答案修改了String.prototype (这个答案也是如此),但由于可维护性,我现在建议不要这样做(很难找到函数添加到prototype ,如果其他代码使用相同的函数,可能会导致冲突) name / a browser 将来添加一个具有相同名称的本机函数。

这是一个更面向对象的方法:

String.prototype.capitalize = function() {
    return this.charAt(0).toUpperCase() + this.slice(1);
}

你可以调用这个函数,如下所示:

"hello world".capitalize();

预期输出为:

"Hello world"

在 CSS 中:

p:first-letter {
    text-transform:capitalize;
}