Какова цель этой странной функции заглавных букв? - PullRequest
0 голосов
/ 16 октября 2011

Я просматриваю код для kibo.js и нашел эту функцию:

Kibo.capitalize = function(string) {
  return string.toLowerCase().replace(/^./, function(match) { return match.toUpperCase(); });
};

У кого-нибудь есть идеи, почему они могли бы использовать это вместо просто .toUpperCase?

PS- Кибо находится на https://github.com/marquete/kibo/blob/master/kibo.js

Ответы [ 4 ]

2 голосов
/ 16 октября 2011

Он в основном сначала преобразует всю строку в нижний регистр, а затем использует только первую букву.

capitalize:

TEST => Test
test => Test
teST => Test

... в отличие от toUpperCase:

test => TEST
teST => TEST
Test => TEST

toLowerCase:

TeST => test
TEST => test
tesT => test

В некоторых языках также есть метод titleize, который использует заглавные буквы в каждом слове, как в названии / собственном имени:

mary poppins          => Mary Poppins
a lovely and talented => A Lovely and Talented Title
what a title!         => What a Title!
the meaning of life   => The Meaning of Life
hello, world!         => Hello, World!

Обратите внимание, что не пишется с заглавной буквы "и", "of", "the" и т. Д., Если они не являются первым словом в строке.

1 голос
/ 16 октября 2011

Функция, ну, в общем, переводит строку в верхний регистр, то есть переводит первую букву в верхний регистр, а следующие буквы - в нижний регистр.

console.log(Kibo.capitalize('alEx'));

/*
 * Outputs:
 * 'Alex'
 */
1 голос
/ 16 октября 2011

toUpperCase преобразует все буквы в заглавные буквы. Эта функция Kibo.capitalize сначала преобразует все буквы в нижний регистр, а затем преобразует только первую букву (/^./) строки в верхний регистр.

Kibo.capitalize('hello') // returns 'Hello'
'hello'.toUpperCase() // returns 'HELLO'
0 голосов
/ 16 октября 2011
>>> capitalize("hi mom")
"Hi mom"
>>> capitalize("HI MOM")
"Hi mom"
>>> capitalize("Hi Mom")
"Hi mom"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...