Веб-программирование

Обучение программированию

Делаете первые шаги в программировании? Представляем вашему вниманию пошаговое обучение самостоятельного создания сайтов любой сложности на примерах! На страницах сайта KobRU вы найдете все самое необходимое, для того чтобы по праву считаться веб-мастером по созданию привлекательных динамически изменяемых интернет-страниц, используя основные инструменты веб-разработчиков: HTML; CSS; PHP; MySQL; JAVASCRIPT и другие. Сайт KobRU - наиболее полное и качественно структурированное руководство с предельно понятными пояснениями и поэтапным изложением материала, который поможет вам в совершенстве овладеть искусством программирования. Добавьте динамики и интерактивность в свои веб-проекты!

Вход в личный кабинет

Забыли пароль?

Не зарегистрированны?


Конструкторское Web-бюро
3.6 Объединение

Автор: Denisido

Дата: 2010-06-19

Конкатенация

Смысл этого труднопроизносимого слова в языке программирования очень простой - этот оператор объединяет строки. Достигается это с помощью известного нам оператора +. Возьмем к примеру Вас! Задание будет таким: нам нужно с вами поздороваться. Для этих целей нам необходимо знать ваше имя и фамилию. Заполнять свои данные вы будете в два поля для ввода текста, например, так:

Запустить!

Допустим, вы написали Иван Иванов. Здесь мы вытащили значения в текстовых полях, сохранили их в переменных и объединили эти переменные. Давайте посмотрим, как происходит объединение строк:

Запустить!
var value  = 'Иван '; // После имени Иван ставим пробел (чтобы не было слитно)
var value2 = 'Иванов';
var result = value + value2; // объединяем строки с помощью оператора +
alert(result);               // выводим результат в модальное окно

Объединение чисел и строк

Как вы понимаете, объединение строк не такая сложная задача, но что будет, если объединить разные типы переменных. Например сделаем так: одной переменной присвоим тип string ('Мне'), а вторая переменная будет содержать числовое значение (27). Как говорилось ранее, JavaScript слабо типизированный язык и он может с легкостью объединить такие переменные:

Запустить!
var one = 'Мне '; // тип String (строка)
var two = 27;    // тип Number (число)
var all = one + two;
alert(all);      // выведет Мне 27

Интерпретатор JavaScript понимает, что число должно быть преобразовано в строку, что, собственно говоря, он и делает. Удобно, но иногда автоматическое преобразование типов может вызвать проблемы. Представьте, что вы играете турнир в покер Texax Holdem NL раздача и у вас две карты одной масти (AK). Открывается флоп и на борде еще две карты вашей масти. Вам нужно подсчитать сколько аутов вы имеете на победу. Попробуем разобраться. Известно, что всего в карточной колоде 52 карты и 4 масти, следовательно, каждая масть имеет 13 карт (52 / 4 = 13). У вас на руках две карты одной масти и две карты на столе (итого: четыре). Теперь узнаем сколько у нас аутов на победу: 13 - 4 = 9. Но не стоит забывать про тузы и короли! Всего 4 карты одного достоинства (например, KKKK), т.е. мы должны прибавить к 9 еще 6 (3короля и 3 туза). Всего получается 15 аутов! "Вопрос сколько аутов вы имеете на то, чтобы добрать флешь?" После выведем остальные ауты и подсчитаем общее количество вместе взятых. Если в специальной форме вы отвечаете 9, то это число считается строкой!

Запустить!
var answer = "9";  // наш ответ 9 аутов
var result = answer + 6; // здесь мы сохраняем в переменную все ауты
alert(typeof result);    // определяем тип переменной result
alert(result);           // получаем неожиданный результат 96

Поскольку первый операнд имеет тип string, то интерпретатор JavaScript преобразует второй операнд опять же в строку, и в результате в переменной result получается строка 96. Чтобы предотвратить подобное нужно сделать следующее:

Запустить!
var answer = "9";
var result = +answer + 6; 
alert(typeof result);    // определяем тип переменной result
alert(result);           // получаем нужный результат 15

В этом примере мы перед переменной answer(от англ. - ответ) поставили знак +, тем самым изменили ее тип с string (строка) на number (число). Тут также стоит обратить внимание на то, что строчная переменная answer содержит только число ('9') и она легко преобразуется в числовое значение.

Существует еще более надежное решение этой задачи - это команда Number(), которая преобразует строку в число, если это возможно. Рассмотрим пример:

Запустить!
var answer = "9";
var result = Number(answer) + 6; 
alert(typeof result);    // определяем тип переменной result
alert(result);           // получаем нужный результат 15

Выше мы написали, что преобразование строк в числа возможны, но не всегда! Например, если в строке содержатся буквенное выражение, то это преобразование будет невозможным и нам выдаст сообщение NaN:

Запустить!
var answer = "Девять";
var result = Number(answer) + 6; 
alert(result);           // выводим результат и получаем значение NaN



Оцените материал по 5-ти бальной шкале: 1 2 3 4 5



Коментарии:

Коментарий добавил(а): fgh1233
Дата: 2010-06-22

Полезная и нужная инфа как для новичков так и для профи.

Добавить новый коментарий:

Текст коментария:

Введите результат с картинки

Просмотров: 17692

Метки раздела JavaScript

Основы web программирования, var javascript, javascript функции, javascript обучение, javascript простые примеры, html javascript, javascript примеры, javascript random, уроки сайтостроения, java script, регулярные выражения, appendchild javascript, javascript бесплатно, javascript document write, javascript справочник, javascript примеры.