Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯП-Лекция 02.docx
Скачиваний:
17
Добавлен:
11.06.2015
Размер:
349.33 Кб
Скачать

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

Операция

Результат

Примеры

строка + строка

Конкатенация – соединение двух строк в одну

"лист" + "5" даёт строку лист5

"лист " + "5" даёт строку лист 5

Эта операция применяется, когда значение хотя бы одного её операнда не является числом, или логическим значением, или null. При этом делается попыткапривестизначения операндов к строкам. Так, выражение"лист" + 5 даёт строкулист5, т.е. число 5 приводится к строке"5". Более сложных случаев лучше избегать.

Операции сравнения

Операции сравнения всегда в качестве результата выдают логическое значение trueилиfalse.

Сравнение чиселпроисходит так же, как в математике. При сравнениистроксравниваются числовые коды символов по порядку слева направо (равными могут быть только одинаковые строки). Порядок (перед,после) строк определяется, как в словаре (он называетсясловарнымилилексикографическим). Коды символов (на самом деле важен лишь порядок символов в алфавите) можно посмотреть в менюВставка/Символлюбой программы изMSOffice. При сравненииобъектов(в том числе и массивов) сравниваются их ссылки, т.е. имеет смысл только сравнениеравноне равно.

При сравнении значений разных типовнекоторые операции сравнения пытаютсяпривестиоперанды к сравнимым значениям, например, к числу или строке. Так, массив[1]приводится к числу 1 или строке "1". Во избежание лишних проблем не следует слишком надеяться на автоматическое приведение.

Операция

Результат

Примеры,

когда выдаётся true

знач1 == знач2

(равно)

Результат равен true, если операнды равны друг другу. Если значения имеют разные типы, выполняется приведение.

3==1+2

3=="3"

3==['3']

3==[1+2]

знач1 === знач2

(тождественно)

Результат равен true, если операнды одного типа и равны друг другу. Приведение не выполняется.

3===1+2

"31"==="3"+"1"

x=[1]; y=x; x===y

знач1 != знач2

(не равно)

Результат равен true, если операнды не равны друг другу. Если значения имеют разные типы, выполняется приведение.

3!=2+2

3 != '1'+2 (правый операнд равен 12)

[3] != [3] (у этих массивов разные ссылки)

знач1 !== знач2

(не тождественно)

Результат равен true, если операнды одного типа и не равны друг другу. Приведение не выполняется.

3 !== "3"

"3" !== "3"+"1"

x=[1]; y=[1]; x!==y

знач1 < знач2

(меньше, перед)

Результат может быть true только при сравнении чисел и строк. При сравнении строки и числа строка приводится к числу. Для остальных типов делается попытка преобразования к числам.

2<3

'ab'<'ba' 'a'<'aa'

'abc'<'ac'

2<"3" "2"<3

знач1 > знач2

(больше, после)

Результат такой же, как для выражения знач2 < знач1

знач1 <= знач2

(меньше или равно)

Результат такой же, как для выражения !(знач1 > знач2)

знач1 >= знач2

(больше или равно)

Результат такой же, как для выражения !(знач2 < знач1)

Логические операции

Логические операции, в основном, используются для задания сложных условий. Если они выполняются над логическими значениями(trueиfalse), то дают в результате логическое значение. Операнды этих операций, не являющиеся логическими значениями,приводятсяк таковым по правилу:

К false приводятся значения 0, "", null, NaN и undefined.

Остальные значения приводятся к true.

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

Операция

Название

Результат

! значение

НЕ, NOT

(отрицание)

Выдаёт значение true, если значение операнда может быть приведено к false. В противном случае выдаётся значение false.

знач && знач

И, AND (логическое произведение)

Выдаёт значение первого операнда, если оно может быть приведено к false. В противном случае выдаётся значение второго операнда.

знач || знач

ИЛИ, OR

(логическая сумма)

Выдаёт значение первого операнда, если оно может быть приведено к true. В противном случае выдаётся значение второго операнда.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]