freeCodeCamp/guide/chinese/miscellaneous/capitalize-the-first-letter.../index.md

77 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Capitalize the First Letter of a String
localeTitle: 将字符串的第一个字母大写
---
要大写随机字符串的第一个字母,您应该按照以下步骤操作:
1. 获取字符串的第一个字母;
2. 将第一个字母转换为大写;
3. 获取字符串的其余部分;
4. 将首字母大写与字符串的其余部分连接起来并返回结果;
## 1.获取字符串的第一个字母
你应该使用[charAt](http://forum.freecodecamp.com/t/javascript-string-prototype-charat/15932)方法, 在_索引0处_ ,选择字符串的第一个字符。
```javascript
var string = "freeCodecamp";
string.charAt(0); // Returns "f"
```
> 注意: `charAt`优于使用`[ ]` [括号表示法](http://forum.freecodecamp.com/t/javascript-string-prototype-touppercase/15950) )为`str.charAt(0)` 在`''[0]`情况下,为`str = ''`返回一个空字符串( _`''`_ )而不是`undefined` 。
## 2.将第一个字母转换为大写
您可以使用[toUpperCase](http://forum.freecodecamp.com/t/javascript-string-prototype-touppercase/15950)方法 并将调用字符串转换为大写。
```javascript
var string = "freeCodecamp";
string.charAt(0).toUpperCase(); // Returns "F"
```
## 3.获取字符串的剩余部分
您可以使用[slice](https://github.com/freecodecamp/freecodecamp/wiki/js-array-prototype-slice)方法并获取 字符串的剩余部分(从第二个字符, _索引1_到字符串的结尾)。
```javascript
var string = "freeCodecamp";
string.slice(1); // Returns "reeCodecamp"
```
## 4.返回结果,添加第一个字母和字符串的其余部分
您应该创建一个接受字符串作为唯一参数的函数,并返回第一个字母的串联 大写`string.charAt(0).toUpperCase()`和字符串`string.slice(1)`的其余部分。
```javascript
var string = "freeCodecamp";
function capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
capitalizeFirstLetter(string); // Returns "FreeCodecamp"
```
或者您可以将该函数添加到`String.prototype`以便使用以下代码直接在字符串上使用它 _这样该方法不可枚举但可以在以后覆盖或删除_
```javascript
var string = "freeCodecamp";
/* this is how methods are defined in prototype of any built-in Object */
Object.defineProperty(String.prototype, 'capitalizeFirstLetter', {
value: function () {
return this.charAt(0).toUpperCase() + this.slice(1);
},
writable: true, // so that one can overwrite it later
configurable: true // so that it can be deleted later
});
string.capitalizeFirstLetter(); // Returns "FreeCodecamp"
```
### 资源
[stackoverflow - 在JavaScript中大写字符串的第一个字母](http://stackoverflow.com/questions/1026069/capitalize-the-first-letter-of-string-in-javascript/1026087#1026087)