Więcej
Jak sprawić, by pierwsza litera ciągu znaków była wielka w JavaScript?
Jak sprawić, aby pierwsza litera ciągu znaków była wielka, ale nie zmieniać wielkości pozostałych liter?
Na przykład:
"to jest test"
->"To jest test"
."Wieża Eiffla"
->"Wieża Eiffla"
->"Wieża Eiffla"
"/index.html"
->"/index.html"
3541
3
Niektóre inne odpowiedzi modyfikują
String.prototype
(ta odpowiedź również kiedyś to robiła), ale odradzam to teraz ze względu na utrzymanie (trudno się dowiedzieć, gdzie funkcja jest dodawana doprototypu
i może powodować konflikty, jeśli inny kod używa tej samej nazwy / przeglądarka dodaje natywną funkcję o tej samej nazwie w przyszłości).Oto podejście bardziej zorientowane na obiekt:
Wywołałbyś funkcję, na przykład tak:
Z oczekiwanym wynikiem wyjściowym:
Tutaj jest funkcja o nazwie ucfirst() (skrót od "pierwsza wielka litera"):
Możesz napisać wielką literę w ciągu znaków, wywołując ucfirst("jakiś ciąg znaków") -- na przykład,
Działa to poprzez podzielenie łańcucha na dwie części. W pierwszym wierszu wyciąga firstLetter, a następnie w drugim wierszu kapitalizuje firstLetter przez wywołanie firstLetter.toUpperCase() i łączy go z resztą łańcucha, który jest znaleziony przez wywołanie str.substr(1).
Można by pomyśleć, że to zawiedzie w przypadku pustego łańcucha i rzeczywiście w języku takim jak C trzeba by się tym zająć. Jednak w JavaScript, kiedy bierzesz podłańcuch pustego łańcucha, po prostu otrzymujesz pusty łańcuch z powrotem.