Я пытался получить имена от пользователя в качестве входных данных и попытался отобразить имена так, чтобы первый символ был заглавным, а остальные буквы — строчными. ПРОБЛЕМА: функция оповещения в последний раз не отображает сообщение. КОД: ''' var Name = prompt("Введите ваше имя: ");
var Name = prompt("Enter your name: ");
var firstLetter = Name.Slice(0,1);
var finalFirstLetter = firstLetter.toUpperCase();
var remainingLetter = Name.Slice(0,Name.length);
var FinalRemainingLetter = remainingLetter.toLowerCase();
var captalisedName = finalFirstLetter + FinalRemainingLetter;
alert("Hello, " + CaptalisedName);
4 ответа
Несколько заметок,
- Функция
slice
в Javascript написана в нижнем регистре. - В конце, когда вы предупреждаете о выводе, ваша переменная должна иметь тот же регистр, что и вы объявили
Запустите приведенный ниже фрагмент, чтобы увидеть желаемый результат.
var Name = prompt("Enter your name: ");
var firstLetter = Name.slice(0,1);
var finalFirstLetter = firstLetter.toUpperCase();
var remainingLetter = Name.slice(1,Name.length);
var FinalRemainingLetter = remainingLetter.toLowerCase();
var captalisedName = finalFirstLetter + FinalRemainingLetter;
alert("Hello, " + captalisedName);
alert(`${name[0].toUpperCase()}${name.slice(1)}`);
должен помочь!
Это сообщение об ошибке, которое запускает ваш код:
{
"message": "Uncaught TypeError: Name.Slice is not a function",
"filename": "https://stacksnippets.net/js",
"lineno": 13,
"colno": 24
}
Убедитесь, что вы проверяете консоль при запуске кода, чтобы увидеть, возникают ли какие-либо ошибки, это может избавить вас от многих головных болей.
Функция не пишется с заглавной буквы, поэтому она будет выглядеть примерно так:
var name = prompt("Enter your name: ");
var firstLetter = name.slice(0,1).toUpperCase();
var remainingLetter = name.slice(1, name.length).toLowerCase();
var capitalizedName = firstLetter + remainingLetter;
alert("Hello, " + capitalizedName);
Я бы также попытался следовать какому-то соглашению об именах, чтобы уменьшить количество ошибок с заглавными буквами. В приведенном выше примере я использую стандарты javascript: camelCase для переменных и функций, а UpperCamelCase зарезервирован для типов данных и классов.
Вот тот же код с const. Получайте удовольствие от изучения JS!
const name = prompt("Enter your name: ");
const firstLetter = name.substring(0, 1).toUpperCase();
const remainingString = name.substring(1).toLowerCase()
alert("Hello, " + firstLetter + remainingString);
Возможно, вы могли бы заменить var
на const
. Иногда это также решает ошибку. Вот так..
const name = prompt("Enter your name: ");
const firstLetter = name.substring(0, 1).toUpperCase();
const remainingString = name.substring(1).toLowerCase()
alert("Hello, " + firstLetter + remainingString);
Ваш код хорош, но у вас есть опечатки. а) функциональный фрагмент в нижнем регистре б) captalisedName в вашем предупреждении должен быть в нижнем регистре, чтобы
Тогда это сработает!
var Name = prompt("Enter your name: ");
var firstLetter = Name.slice(0,1);
var finalFirstLetter = firstLetter.toUpperCase();
var remainingLetter = Name.slice(0,Name.length);
var FinalRemainingLetter = remainingLetter.toLowerCase();
var captalisedName = finalFirstLetter + FinalRemainingLetter;
alert("Hello, " + captalisedName);
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.
alert(`${name[0].toUpperCase()}${Name.slice(1)}`);
. Этот один лайнер должен сделать свое дело. Вы можете сохранить содержимое функцииalert()
в переменную, если позже захотите использовать имя с заглавной буквы.