У меня такое же, потому что в httpd.conf в apache PHPIniDir D:/wamp/bin/php/php5.5.12
это неверно
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
Некоторые другие ответы изменяют String.prototype
(этот ответ тоже использовался), но я бы посоветовал этого не делать сейчас из-за ремонтопригодности (трудно понять, где функция добавляется к прототипу
и может вызвать конфликты, если другой код использует то же имя / браузер добавит встроенную функцию с тем же именем в будущем).
Вот более объектно-ориентированный подход:
String.prototype.capitalize = function() {
return this.charAt(0).toUpperCase() + this.slice(1);
}
Вы вызовете функцию, например, так:
"hello world".capitalize();
С ожидаемым результатом:
"Hello world"
Вот функция с именем ucfirst () (сокращение от «первая буква в верхнем регистре»):
function ucfirst(str) {
var firstLetter = str.substr(0, 1);
return firstLetter.toUpperCase() + str.substr(1);
}
Вы можете использовать строку с заглавной буквы, вызвав ucfirst ("some string") - например,
ucfirst("this is a test") --> "This is a test"
Он работает путем разделения строки на две части. В первой строке он извлекает firstLetter , а затем во второй строке использует заглавную букву firstLetter , вызывая firstLetter.toUpperCase () , и присоединяет его к остальной части строка который можно найти, вызвав str.substr (1) .
Вы можете подумать, что это не сработает для пустой строки, и действительно, в таком языке, как C, вам придется это учитывать. Однако в JavaScript, когда вы берете подстроку пустой строки, вы просто получаете обратно пустую строку.
Функция ucfirst
работает, если вы сделаете это так.
function ucfirst(str) {
var firstLetter = str.slice(0,1);
return firstLetter.toUpperCase() + str.substring(1);
}
Спасибо, JP за одобрение.
попробуйте это:
String.prototype.capFirstLetter = function () {
return this.toUpperCase() + this.slice(1);
}
alert("the quick brown fox jumped over the lazy dog.".capFirstLetter());
//The quick brown fox jumped over the lazy dog.