Таблица 2.1 подводит итог всех операторов JavaScript.
Таблица 2.1 операторы JavaScript.
Операторы Присваивания
Оператор присваивания присваивает значение левому операнду, основанное на значении правого операнда.
Реализовано в | Navigator 2.0 |
Основной оператор присваивания присвоить (=), присваивает значение правого операнда левому операнду. То есть x = y присваивает значение y операнду x. Другие операторы присваивания это сокращения стандартного оператора, как показано в Таблице 2.2.
Таблица 2.2 Операторы Присваивания
Операторы Сравнения
Оператор сравнения сравнивает операнды и возвращает логическое значение, основанное на том, является ли сравнение истинным или нет. Операнды могут быть числовыми или строковыми значениями. Когда используются строковые значения, сравнения основываются на стандартной лексикографической последовательности.
Реализовано в | Navigator 2.0 |
Они описаны в Таблице 2.3. В примерах в этой таблице принято, что var1
было присвоено значение 3 и var2
было присвоено значение 4.
Таблица 2.3 Операторы сравнения
Арифметические Операторы
Арифметические операторы берут числовые значения (литералы или переменные) как свои операнды и возвращают одиночное числовое значение. Стандартные арифметические операторы сложение (+), вычитание (-), умножение (*) и деление (/). Эти операторы работают так же, как в других языках программирования.
Реализовано в | Navigator 2.0 |
% (Модуль)
Оператор модуля используется следующим образом:
var1 % var2
Оператор модуля возвращает первый операнд по модулю второго операнда, то есть var1
по модулю var2
, в предшествующей инструкции, где var1
и var2
переменные. Функция модуль это целочисленный остаток от деления var1
на var2
. Например, 12 % 5 возвращает 2.
++ (Инкремент)
Оператор инкремента используется следующим образом:
-- (Декремент)
Оператор декремента используется следующим образом:
- (Унарный Минус)
Унарный оператор вычитания предшествует операнду и делает его отрицательным. Например, y = -x
делает отрицательным значение x
и присваивает его y
, то есть, если x
был равен 3, y
получит значение -3, а x
сохранит начение 3.
Поразрядные Операторы
Поразрядные операторы обрабатывают свои операнды как набор битов (нулей и едениц), не как десятичные, шестнадцатеричные или восьмеричные числа. Например, десятичное число девять имеет двоичное представление 1001. Поразрядные операторы выполняют операции с такими двоичными представлениями, но они возвращают стандартные числовые значения JavaScript.
Таблица 2.4 подводит итог поразрядных операторов JavaScript
Таблица 2.4 Поразрядные операторы
Поразрядные Логические Операторы
Реализовано в | Navigator 2.0 |
Например, двоичное представление девяти 1001 и двоичное представление пятнадцати 1111. Так, когда поразрядные операторы применяются к этим значениям, результаты следующие:
Реализовано в | Navigator 2.0 |
<< (Сдвиг Влево)
Этот оператор сдвигает первый операнд на определенное число битов влево. Лишние биты, сдвинутые влево, отбрасываются. Нулевые биты вдвигаются справа.
>> (Знакоразмножающий Сдвиг Вправо)
Этот оператор сдвигает первый операнд на определенное число битов вправо. Лишние биты, сдвинутые вправо отбрасываются. Копии крайнего левого бита перемещаются слева.
>>> (Заполняющий Нулями Сдвиг Вправо)
Этот оператор сдвигает первый операнд на определеное число битов вправо. Лишние биты, сдвинутые вправо отбрасываются. Нулевые биты перемещаются слева.
Логические Операторы
Логические операторы берут Булевы (логические) значения как операнды и возвращают Булево значение.
Реализовано в | Navigator 2.0 |
Таблица 2.5 Логические операторы
Примеры
Рассмотрите следующий сценарий:
<script language="JavaScript1.2">"
v1 = "Кошка";
v2 = "Собака";
v3 = false;document.writeln("t && t возвращает " + (v1 && v2));
document.writeln("f && t возвращает " + (v3 && v1));
document.writeln("t && f возвращает " + (v1 && v3));
document.writeln("f && f возвращает " + (v3 && (3 == 4)));document.writeln("t || t возвращает " + (v1 || v2));
document.writeln("f || t возвращает " + (v3 || v1));
document.writeln("t || f возвращает " + (v1 || v3));
document.writeln("f || f возвращает " + (v3 || (3 == 4)));document.writeln("!t возвращает " + (!v1));
document.writeln("!f возвращает " + (!v3));</script>
Этот сценарий показывает следующее:
t && t возвращает Собака
f && t возвращает false
t && f возвращает false
f && f возвращает false
t || t возвращает Кошка
f || t возвращает Кошка
t || f возвращает Кошка
f || f возвращает false
!t возвращает false
!f возвращает trueВыражение Short-Circuit
Этот сценарий показывает, как логические выражения оцениваются слева направо, они проверяют возможности выражения "short-circuit", использующего следующие правила:
Правила логики гарантируют, что эти выражения всегда правильны. Обратите внимание, что что-нибудь часть выше упомянутых выражений не оценивается, так что любые побочные эффекты выполнения не имеют действия.
Строковые Операторы
В дополнение к операторам сравнения, которые могут использоваться со строковыми значениями, оператор конкатенации (+) конкатенирует два строковых значения вместе и возвращает другую строку, которая является объединением двух строк операнда. Например, "моя " + "строка"
возвращает строку "моя строка"
.
Реализовано в | Navigator 2.0 |
Специальные Операторы
?: (Условный оператор)
Условный оператор единственный JavaScript оператор, который имеет три операнда. Этот оператор часто используется как сокращение для инструкции if
.
Реализовано в | Navigator 2.0 |
Синтаксис
условие ? expr1 : expr2
Параметры
условие |
выражение, которое оценивается как true или false
|
expr1, expr2 | выражения со значениями любого типа. |
Описание
Если условие
true
, оператор возвращает значение expr1
; иначе, возвращает значение expr2
. Например, чтобы отобразить различные сообщения, основанные на значении переменной isMember
, Вы можете использовать это выражение:
document.write ("The fee is " + (isMember ? "$2.00" : "$10.00"))
, (Оператор запятая)
Оператор запятая очень прост. Он оценивает оба из операндов и возвращает значение второго операнда.
Реализовано в | Navigator 2.0 |
Синтаксис
expr1, expr2
Параметры
expr1, expr2 | Любые выражения |
Описание
Вы можете использовать оператор запятая, когда Вы хотите включить несколько выражений в место, где требуется одно выражение. Наиболее общее использование этого оператора обеспечивает несколько параметров в цикле for
.
for (var i=0, j=10; i <= 10; i++, j--)
document.writeln("a["+i+","+j+"]= " + a[i,j]) delete
Удаляет свойство объекта или элемент в определенном индексе массива.
Реализовано в | Navigator 2.0 |
Синтаксис
delete objectName.property
delete objectName[index]
delete propertyПараметры
objectName | Имя объекта. |
property | Существующее свойство. |
index | Целое число, представляющее расположение элемента в массиве |
Описание
Третья форма допустима только внутри инструкции with
.
new
Оператор, который позволяет Вам создавать образец определяемого пользователем типа объекта или одного из встроенных типов объектов, который имеет функцию конструктор.
Реализовано в | Navigator 2.0 |
Синтаксис
objectName = new objectType (param1 [,param2] ...[,paramN])
Аргументы
Описание
Создание определяемого пользователем типа объекта требует двух шагов:
Чтобы определять тип объекта, создайте функцию для типа объекта, которая определит его имя, свойства и методы. Объект может иметь свойство, которое является самостоятельно другим объектом. Смотрите примеры ниже.
Вы можете добавлять свойство к предварительно определенному типу объекта, используя свойство Function.prototype
. Оно определяет свойство, которое разделено всеми объектами, созданными этой функцией, скорее чем только одним образцом типа объекта. Следующий код добавляет свойство color
ко всем объектам типа car
, и затем присваивает значение свойству color
объекта car1
. Для подробной информации, смотрите prototype
Car.prototype.color=null
car1.color="black"
birthday.description="The day you were born"Примеры
Пример 1: Тип объекта и образец объекта. Предположим Вы хотите создать тип объекта для автомобилей. Вы хотите этот тип объекта назвать car
, и Вы хотите, чтобы oн имел свойства make, model и year. Чтобы сделать это, Вы написали бы следующую функцию:
function car(make, model, year) {
Теперь Вы можете создать объект, названный
this.make = make
this.model = model
this.year = year
}mycar
следующим образом:
mycar = new car("Eagle", "Talon TSi", 1993)
Эта инструкция создает mycar
и присваивает заданные значения его свойствам. Значение mycar.make
строка "Eagle"
, mycar.year
целое число 1993
, и так далее.
Вы можете создать любое число объектов car
вызывая new
. Например,
kenscar = new car("Nissan", "300ZX", 1992)
Пример 2: свойство объекта, которое является самостоятельным объектом. Предположим Вы определяете объект, названный person
следующим образом:
function person(name, age, sex) {
И затем создаете два новых объекта
this.name = name
this.age = age
this.sex = sex
}person
следующим образом:
rand = new person("Rand McNally", 33, "M")
Затем Вы можете переписать определение
ken = new person("Ken Jones", 39, "M")car
, чтобы включить свойство owner, которое содержит объект person
следующим образом:
function car(make, model, year, owner) {
Чтобы определить новые объекты, Вы затем используете следующее:
this.make = make;
this.model = model;
this.year = year;
this.owner = owner;
}
car1 = new car("Eagle", "Talon TSi", 1993, rand);
Вместо того, чтобы передавать литеральное строковое или целочисленное значение при создании новых объектов, выше упомянутые инструкции передают объекты
car2 = new car("Nissan", "300ZX", 1992, ken)rand
и ken
как параметры для owner. Чтобы выяснить имя владельца car2
, Вы можете обратиться к следующему свойству:
car2.owner.name
this
Ключевое слово, которое Вы можете использовать, чтобы обратиться к текущему объекту. Вообще, метод this
ссылается к вызывающему объекту.
Реализовано в | Navigator 2.0 |
Синтаксис
this
[.propertyName]Примеры
Предположим вызывается функция validate
, проверяющая правильность значения свойства объекта, передавая объекту наивысшее и наинизшее значения:
function validate(obj, lowval, hival) {
Вы могли бы вызвать
if ((obj.value < lowval) || (obj.value > hival))
alert("Invalid Value!")
}validate
в обработчике события onChange
каждого элемента формы, используя this
, передавая ему элемент формы, как в следующем примере:
<B>Enter a number between 18 and 99:</B>
<INPUT TYPE = "text" NAME = "age" SIZE = 3
onChange="validate(this, 18, 99)">typeof
Оператор typeof
используется одним из следующих способов:
1. typeof операнд
Оператор
2. typeof (операнд)typeof
возвращает строку, указывающую тип неоцененного операнда. Этот операнд
строка, переменная, ключевое слово или объект, для которого должен быть возвращен тип. Круглые скобки факультативны.
Реализовано в | Navigator 3.0 |
Предположим Вы определяете следующие переменные:
var myFun = new Function("5+2")
Оператор
var shape="round"
var size=1
var today=new Date()typeof
возвратит следующие результаты для этих переменных:
typeof myFun is object
Для ключевых слов
typeof shape is string
typeof size is number
typeof today is object
typeof dontExist is undefinedtrue
и null
, оператор typeof
возвратит следующие результаты:
typeof true is boolean
Для чисел или строк оператор
typeof null is objecttypeof
возвратит следующие результаты:
typeof 62 is number
Для значений свойств оператор
typeof 'Hello world' is stringtypeof
возвратит тип значения, которое свойство содержит
typeof document.lastModified is string
Для методов и функций оператор
typeof window.length is number
typeof Math.LN2 is numbertypeof
возвратит результаты следующим образом:
typeof blur is function
Для предопределенных объектов оператор
typeof eval is function
typeof parseInt is function
typeof shape.split is functiontypeof
возвратит результаты следущим образом:
typeof Date is function
typeof Function is function
typeof Math is function
typeof Option is function
typeof String is functionvoid
Оператор void используется одним из следующих способов:
1. javascript:void (выражение)
Оператор void определяет выражение, которое будет оценено без того, чтобы возвратить значение.
2. javascript:void выражениевыражение
это выражение JavaScript для оценки. Круглые скобки, окружающие выражение, факультативны, но их использование является хорошим стилем.
Реализовано в | Navigator 3.0 |
<A HREF="javascript:void(0)">Нажмите здесь, чтобы ничего не произошло</A>
Следующий код создает гипертекстовую ссылку, которая представляет на рассмотрение форму, когда пользователь щелкает по ней.
<A HREF="javascript:void(document.form.submit())">
Нажмите здесь, чтобы отправить</A>
Последняя Модификация: 10/31/97 12:29:53
Все мессаги сюда:yanich@inbox.ru |