Прочие операции
Условная операция
Условная операция - это единственная тернарная операция в JavaScript. Она имеет вид:
test ? value1 : value2
где test - любое логическое выражение, а value1 и value2 - любые выражения. Если test истинно, то операция возвращает значение value1, в противном случае она возвращает значение value2. Пример:
var status = (age >= 18) ? "взрослый" : "подросток";
Операция запятая
Операция запятая вызывает последовательное вычисление значений двух выражений и возвращает второе из них. Она имеет вид:
expr1,expr2
где expr1 и expr2 - любые выражения. Основное применение эта операция находит в операторе цикла for, поскольку последний допускает только одно выражение, которое исполняется в конце каждого цикла. Операция запятая позволяет объединить два выражения в одно и, тем самым, обойти это ограничение. Пример:
for (i = 0; i < 10; i++, j++) { k = i + j; }
Операция delete
Операция delete удаляет свойство объекта или элемент массива. Она имеет вид:
delete expr
где expr - любое выражение, значением которого является свойство объекта или элемент массива. Если удаление прошло успешно, то операция возвращает значение true; если нет (например, если свойство объекта не может быть удалено), то она возвращает значение false.
Эта операция может также применяться для удаления неявно декларированных переменных (т. е. тех, декларация которых не содержит ключевого слова var).
При удалении элемента массива длина массива и нумерация его элементов не изменяются, но удаленный элемент становится неопределенным.
Примеры:
mynumber = new Number(); // создает новый объект mynumber.high = 100; // создает новое свойство объекта delete mynumber.high; // удаляет свойство объекта delete mynumber; // удаляет объект langs = new Array("HTML", "CSS", "JavaScript", "Java"); delete langs[2]; // удаляет элемент массива
Операция in
Операция in возвращает true, если левый операнд является свойством правого операнда. Она имеет вид:
property in object
где property - строковое выражение, значением которого является имя свойства, или числовое выражение, задающее номер элемента массива, а object - любое объектное выражение.
Примеры:
mynumber = new Number(); // новый объект mynumber.high = 100; // новое свойство объекта "high" in mynumber // возвращает true langs = new Array("HTML", "CSS", "JavaScript", "Java"); 0 in langs // возвращает true 4 in langs // возвращает false
Операция instanceof
Операция instanceof возвращает true, если данный объект относится к данному классу объектов. Она имеет вид:
object instanceof type
где object - любое объектное выражение, а type - имя класса объектов.
Примеры:
myDay = new Date(1958,5,21); // новый объект myDay instanceof Date // возвращает true
Операция new
Операция new создает новый объект путем вызова конструктора объектов. Она имеет вид:
new type(arguments)
где type - имя конструктора, а arguments - список параметров, разделенных запятыми, используемых для инициализации объекта. Если список параметров пуст, то круглые скобки можно опустить. Примеры:
myObject = new Object; myArray = new Array(); myDate = new Date("May 21 1958"); myDay = new Date(1958,5,21);
Подробнее о создании новых объектов см. этот пункт.
Операция this
Операция this возвращает указатель на текущий объект. Она должна использоваться в выражениях вида:
this.property где property - имя свойства объекта.
Эта операция широко применяется в обработчиках событий HTML для указания на объект, вызвавший данное событие. Например, следующий фрагмент HTML-документа содержит поле ввода возраста и сценарий, проверяющий допустимость введенного значения.
<SCRIPT type="text/javascript"> function validate(obj, low, high) { if ((obj.value < low) || (obj.value > high)) alert("Недопустимое значение!") } </SCRIPT> <INPUT type="text" name="age" size="3" onchange="validate(this, 18, 99)">
Фактически, this указывает либо на глобальный объект, либо на тот объект, метод которого исполняется в данный момент. Об использовании этой операции в конструкторах объектов см. этот пункт.
Операция typeof
Операция typeof возвращает строку, содержащую информацию о типе операнда. Она имеет вид:
typeof expr или typeof(expr) где expr - любое выражение. Возвращаемое значение может быть одной из шести строк: "number" (число), "string" (строка), "boolean" (логическое значение), "object" (объект), "function" (функция) или "undefined" (неопределенное значение). Примеры:
var size = 1; var shape = "круглый"; var today = new Date(); typeof(size); // возвращает "number" typeof shape; // возвращает "string" typeof today; // возвращает "object"
Примечание. В Microsoft JScript операция typeof может возвращать еще два значения: "date" (тип VT_DATE стандарта COM) и "unknown" (COM-интерфейсы ActiveX).
Операция void
Операция void вычисляет значение выражения и возвращает undefined. Она имеет вид:
void expr или void(expr)
где expr - любое выражение. Эта операция полезна в тех случаях, когда мы хотим вычислить значение выражения, но не хотим, чтобы оно передавалось последующей части сценария.
1 2 3 4
8 8 8
| |