Подтвердить что ты не робот

.toLowerCase не работает, функция замены?

Метод .toLowerCase дает мне ошибку, когда я пытаюсь использовать его для чисел. Это то, что у меня есть:

var ans = 334;
var temp = ans.toLowerCase();
alert(temp);

И затем он дает мне эту ошибку:

'undefined' is not a function (evaluating 'ans.toLowerCase()')

Я не знаю, где я ошибся. Я всегда думал, что числа также могут быть проанализированы без изменения результата (возможно, там, где я набивал).

Но если это не ошибка, может ли кто-нибудь написать пользовательскую функцию makeLowerCase, чтобы сделать строчную строчку, возможно, используя регулярное выражение или что-то еще?

4b9b3361

Ответ 1

Функция

.toLowerCase существует только в строках. Вы можете вызвать toString() на что-нибудь в javascript, чтобы получить строковое представление. Объединяя все это:

var ans = 334;
var temp = ans.toString().toLowerCase();
alert(temp);

Ответ 2

Числа наследуются от конструктора Number, который не имеет метода .toLowerCase. Вы можете найти это на самом деле:

"toLowerCase" in Number.prototype; // false

Ответ 3

Это не ошибка. Javascript с радостью преобразует число в строку, когда ожидается строка (например, parseInt(42)), но в этом случае нет ничего ожидающего, что число будет строкой.

Здесь a makeLowerCase.:)

function makeLowerCase(value) {
  return value.toString().toLowerCase();
}

Ответ 4

Это число, а не строка. Числа не имеют функции toLowerCase(), потому что номера не имеют случая в первую очередь.

Чтобы запустить функцию без ошибок, запустите ее в строке.

var ans = "334";

Конечно, результат будет таким же, как и вход, поскольку, как уже упоминалось, номера не имеют случая в первую очередь.

Ответ 5

var ans = 334 + '';
var temp = ans.toLowerCase();
alert(temp);