Какой рейтинг вас больше интересует?
|
Объединение чисел и строк. (часть 2)2010-12-28 08:31:11 (читать в оригинале)В прошлом посте мы обьединяли строку и число находящиеся в одной последовательности, тоесть интерпретатор JavaScript самостоятельно преобразовал число в строку. Однако такая возможность, известная как автоматическое преобразование типов данных, может вызвать проблемы. Например, если в специальной форме посетитель отвечает на вопрос ("Сколько пар обуви вы хотите?"), печатая число (например 2), то это число считается строкой -'2'. И мы получим следующее: var numberOfShoes = '2'; var numberOfSocks = 4; var totalItems = numberOfShoes + numberOfSocks; Мы ожидаем, что число, сохраненное в totalItes, будет равно - 6 (2 пары обуви и 4 пары носков). Однако, так как значение numberOfShoes является строкой интерпретатор JavaScript преобразует значение переменной numberOfShoes опять же в строку, и в итоге мы получаем строку '24' в переменной totalItems. Есть несколько способов для предотвращения подобной ошибки. Во-первых, мы можем добавить + в начале строку, содержащей число: var numberOfShoes = '2'; var numberOfSocks = 4; var totalItems = +numberOfShoes + numberOfSocks; Добавляя знак + перед переменной(важно чтобы между ними не было пробела), мы какбэ просим интерпретатор JavaScript попытаться преобразовать строку в числовое значение - и если строка содержит только числа, например, '2', то в итоге мы получим строку, преобразованную в число. В нашем примере мы получим число 6(2+4). Команда Number() преобразует строку в число, если это возможно. Если строка содержит только буквы, мы получим значение NaN в качестве сообщения о том, что преобразование букв в числа невозможно. Итак наиболее часто нам придется превращаться числа в строки при обработке пользовательского ввода, например, возвращая значение, введеное посетителем в поле формы. Если же нам необходимо совершить операцию сложения с использованием информации, введенной пользователем в форму или с применением подобной информации, взятой из другого источника, то нужно убедиться, что сначало мы пропустили эти значения через команду Number().
|
Категория «Размышления»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.