.toLowerCase не работает, функция замены?
на .toLowerCase
метод дает мне ошибку, когда я пытаюсь использовать его на цифры. Вот что у меня есть:--5-->
var ans = 334;
var temp = ans.toLowerCase();
alert(temp);
и потом это дает мне эту ошибку:
'undefined' is not a function (evaluating 'ans.toLowerCase()')
Я не знаю, где я ошибся. Я всегда думал, что числа также могут быть проанализированы, без изменения результата (может быть, именно там я напихал).
но если это не ошибка, может кто-то написать пользовательский makeLowerCase
функция, чтобы сделать строку в нижнем регистре, возможно, с помощью regex или что-то?
5 ответов
.функция toLowerCase существует только в строках. Вы можете вызвать toString () на любом языке javascript, чтобы получить строковое представление. Складывая все это вместе:
var ans = 334;
var temp = ans.toString().toLowerCase();
alert(temp);
числа наследуются от Number
конструктор, который не имеет .toLowerCase
метод. Вы можете посмотреть его на самом деле:
"toLowerCase" in Number.prototype; // false
Это не ошибка. Javascript с радостью преобразует число в строку, когда ожидается строка (например,parseInt(42)
), но в этом случае нет ничего, что ожидало бы, что число будет строкой.
здесь
это число, а не строку. Номера нет toLowerCase()
функция, потому что числа не имеют регистра в первую очередь.
чтобы функция работала без ошибок, запустите ее в строке.
var ans = "334";
конечно, выход будет таким же, как и вход, так как, как уже упоминалось, числа не имеют случая в первую очередь.