-Метки

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в CommandButton

 -Сообщества

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 05.05.2008
Записей:
Комментариев:
Написано: 214


JavaSCript Специальные операторы

Вторник, 17 Марта 2009 г. 21:29 + в цитатник
Мониста все записи автора В этом разделе описываются операторы, которые при программировании на JavaScript используются относительно редко..
10.1. Побитовые операторы
Побитовые (поразрядные) операторы применяются к целочисленным значениям и возвращают целочисленные значения. При их выполнении операнды предварительно приводятся к двоичной форме представления, в которой число является последовательностью из нулей и единиц длиной 32. Эти нули и единицы называются двоичными разрядами или битами. Далее производится некоторое действие над битами, в результате которого получается новая последовательность битов. В конце концов эта последовательность битов преобразуется к обычному целому числу — результату побитового оператора. В следующей таблице приведен список побитовых операторов.

Побитовые операторы

Оператор Название Левый операнд Правый операнд
& побитовое и целое число целое число
| побитовое или целое число целое число
^ побитовое исключающее или целое число целое число
~ побитовое не — целое число
<< смещение влево целое число количество битов,
на которое производится смещение
>> смещение вправо целое число количество битов,
на которое производится смещение
>>> заполнение нулями при смещении целое число количество битов,
вправо на которое производится смещение


Операторы &, |, ^ и ~ напоминают логические операторы, но их область действия — биты, а не логические значения. Оператор ~ изменяет значение бита на противоположное: 0 на 1, а 1 — на 0. В следующей таблице поясняется, как работают операторы &, |, ^.

Работа операторов &, |, ^

X Y X&Y X | Y X^Y
1 1 1 1 0
1 0 0 1 1
0 1 0 1 1
0 0 0 0 0

Например, 2&3 равно 2, а 2|3 равно 3. Действительно, в двоичном представлении 2 есть 10, а 3 — 11. Применение побитовых операторов даст в случае оператора & двоичное число 10, то есть десятичное число 2, а в случае оператора | — двоичное число 11, то есть десятичное 3.
У операторов смещения один операнд и один параметр, указывающий, на какое количество бит следует произвести смещение. Например, 3<<2 равно 12, потому что смещение влево на два бита двоичного числа 11 (десятичное 3) дает 1100, что в десятичной форме есть 12. Результатом вычисления выражения 6>>2 — 1. Действительно, число 6 в двоичной форме это 110; смещение его вправо на два бита дает 1 как в двоичной, так и в десятичной форме.
10.2. Объектные операторы
Оператор удаления свойств объекта (delete)

Удалить свойство объекта, а также элемент массива можно с помощью оператора delete. Обычно этот оператор используют для удаления элементов массива:
delete элемент

ВНИМАНИЕ
При удалении элемента массива удаляется и его индекс, но оставшиеся элементы сохраняют свои прежние индексы, а длина массива не изменяется. Использование оператора delete не приводит к немедленному освобождению памяти. Решение об освобождении памяти принимается так называемым ядром JavaScript, а пользовательская программа лишь создает к этому предпосылки, но не может контролировать этот процесс абсолютно.

Оператор проверки наличия свойств (in)

Этот оператор позволяет проверить, имеется ли некоторое свойство или метод у того или иного объекта. Левый операнд представляет собой ссылку в виде строки на интересующее нас свойство или метод, а правый операнд — объект. Ссылка на метод содержит лишь его название без круглых скобок. Если свойство или метод содержится в объекте, то возвращается true, иначе — false. Отсюда следует, что оператор in можно применять в условных выражениях (в операторах if, switch, for, while, do-while).

Примеры:
Например, объект document, представляющий загруженный в браузер HTML-документ, имеет метод write(). Чтобы убедиться в этом, следует написать выражение: "write" in document // значение равно true

Создадим объект и проверим наличие в нем некоторых свойств.

function Сотрудник(Имя, Отдел, Телефон, Зарплата) {
this.Имя = Имя
this.Отдел = Отдел
this.Телефон = Телефон
this.Зарплата = Зарплата
}
agent007 = new Сотрудник("Джеймс Бонд", 5, "223-332")
"Телефон" in agent007 // true
"Ученая степень" in agent007 // false

Оператор in поддерживается браузерами IE5.5+, NN6+.

Оператор проверки принадлежности объекта модели (instanceof)
Этот оператор позволяет проверить, принадлежит ли некоторый объект объектной модели JavaScript. Левый операнд представляет проверяемое значение, а правый ссылку на корневой объект, такой как Array, String, Date и т. п. Выражение с оператором instanceof возвращает true или false и, таким образом может использоваться в условных выражениях (в операторах if, switch, for, while, do while).

Пример:
Созданный массив является экземпляром объекта Array, а последний сам является экземпляром корневого объекта Object.

myarray = new Array()
myarray instanceof Array // true
Array instance Object // true
Myarray instanceof String // false

Оператор in поддерживается браузерами IE5.5+, NN6+.
10.3. Комплексные операторы
Оператор условия (?:)

Этот оператор является сокращенной формой оператора условного перехода if … else… Его так и называют: оператор условия. Обычно он используется вместе с оператором присваивания одного из двух возможных значений, в зависимости от значения условного выражения. Синтаксис оператора условия следующий:
условие ? выражение1 : выражение2
С оператором присваивания оператор условия имеет такой вид:
переменная = условие ? выражение1 : выражение2
Оператор условия возвращает значение выражения выражение1, если условие истинно, в противном случае — значение выражения выражение2.

Пример:

d = new Date()
x = d.getDate()
typedate = (x%2 == 0)&&(x > 1) ? "четное" : "нечетное"

Оператор определения типа (tipeof)

Этот оператор используется для проверки, относится ли значение к одному из следующих типов: string, number, boolean, object, function или undefined. Значение, возвращаемое оператором typeof, является строковым. Оно содержит одно из перечисленных выше названий типа. Единственный операнд пишется справа от ключевого слова typeof.
Рубрики:  программирование
HTML

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку