Ответ 1
Функция.toLowerCase существует только в строках. Вы можете вызвать toString() на что-нибудь в javascript, чтобы получить строковое представление. Объединяя все это:
var ans = 334;
var temp = ans.toString().toLowerCase();
alert(temp);
Метод .toLowerCase
дает мне ошибку, когда я пытаюсь использовать его для чисел. Это то, что у меня есть:
var ans = 334;
var temp = ans.toLowerCase();
alert(temp);
И затем он дает мне эту ошибку:
'undefined' is not a function (evaluating 'ans.toLowerCase()')
Я не знаю, где я ошибся. Я всегда думал, что числа также могут быть проанализированы без изменения результата (возможно, там, где я набивал).
Но если это не ошибка, может ли кто-нибудь написать пользовательскую функцию makeLowerCase
, чтобы сделать строчную строчку, возможно, используя регулярное выражение или что-то еще?
.toLowerCase существует только в строках. Вы можете вызвать toString() на что-нибудь в javascript, чтобы получить строковое представление. Объединяя все это:
var ans = 334;
var temp = ans.toString().toLowerCase();
alert(temp);
Числа наследуются от конструктора Number
, который не имеет метода .toLowerCase
. Вы можете найти это на самом деле:
"toLowerCase" in Number.prototype; // false
Это не ошибка. Javascript с радостью преобразует число в строку, когда ожидается строка (например, parseInt(42)
), но в этом случае нет ничего ожидающего, что число будет строкой.
Здесь a makeLowerCase
.:)
function makeLowerCase(value) {
return value.toString().toLowerCase();
}
Это число, а не строка. Числа не имеют функции toLowerCase()
, потому что номера не имеют случая в первую очередь.
Чтобы запустить функцию без ошибок, запустите ее в строке.
var ans = "334";
Конечно, результат будет таким же, как и вход, поскольку, как уже упоминалось, номера не имеют случая в первую очередь.
var ans = 334 + '';
var temp = ans.toLowerCase();
alert(temp);