русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Строковые операторы


Дата добавления: 2015-07-09; просмотров: 441; Нарушение авторских прав


 

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

 

Оператор + выполняет конкатенацию двух строковых операндов. Другими сло_ вами, создает новую строку, состоящую из первой строки, за которой следует вторая строка. Так, следующее выражение равно строке "hello there":

 

"hello" + " " + "there"

 

Следующие инструкции дают в результате строку "22":

 

a = "2"; b = "2";

c = a + b;

 

Операторы <, <=, > и >= сравнивают две строки и определяют, в каком порядке они следуют друг за другом. Сравнение основано на алфавитном порядке. Как было отмечено в разделе 5.1.1, этот алфавитный порядок базируется на исполь_ зуемой в JavaScript кодировке Unicode. В этой кодировке все прописные буквы латинского алфавита идут раньше, чем все строчные буквы (прописные «мень_ ше» строчных), что может приводить к неожиданным результатам.

 

Операторы равенства == и неравенства != применяются не только к строкам, но, как мы видели, ко всем типам данных, и при работе со строками ничем особен_ ным не выделяются.

 

Оператор + особенный, поскольку дает приоритет строковым операндам перед числовыми. Как уже отмечалось, если один из операндов оператора + представ_ ляет собой строку (или объект), то другой операнд преобразуется в строку (или оба операнда преобразуются в строки) и операнды конкатенируются, а не скла_ дываются. С другой стороны, операторы сравнения выполняют строковое срав_ нение, только если оба операнда представляют собой строки. Если только один операнд – строка, то интерпретатор JavaScript пытается преобразовать ее в чис_ ло. Далее следует иллюстрация этих правил:



 

1 + 2 // Сложение. Результат равен 3.
"1" + "2" // Конкатенация. Результат равен "12".
"1" + 2 // Конкатенация; 2 преобразуется в "2". Результат равен "12".
11 < // Численное сравнение. Результат равен false.
"11" < "3" // Строковое сравнение. Результат равен true.
         

 

5.7. Логические операторы
   

 

"11" < 3 // Численное сравнение; "11" преобразуется в 11. Результат равен false. "one" < 3 // Численное сравнение; "one" преобразуется в NaN. Результат равен false.

 

И наконец, важно заметить, что когда оператор + применяется к строкам и чис_ лам, он может быть неассоциативным. Другими словами, результат может зави_ сеть от порядка, в котором выполняются операции. Это можно видеть на следую_ щих примерах:

s = 1 + 2 + " слепых мышей"; // Равно "3 слепых мышей"
t = "слепых мышей: " + 1 + 2; // Равно " слепых мышей: 12"

 

Причина этой удивительной разницы в поведении заключается в том, что опера_ тор + работает слева направо, если только скобки не меняют этот порядок. Следо_ вательно, последние два примера эквивалентны следующему:

 

s = (1 + 2) + "слепых мышей"; // Результат первой операции _ число; второй _ строка t = ("слепых мышей: " + 1) + 2; // Результаты обеих операций _ строки

 



<== предыдущая лекция | следующая лекция ==>
Оператор instanceof | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.079 сек.