Статьи PHP, Форум, Уроки PHP, дизайн, раскрутка сайта
Портал для программистов, дизайнеров, SEO - оптимизаторов.
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
TIGER ICQ 3 6 0 2 9 5 6 8 3
     
Выберите раздел
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

Поиск
 
 
 

Друзья сайта
 
 
1. www.bvisoft.com
Онлайн счетчик
 

Статистика
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
--------------------------------------
  Прочитано статей: 405
  Всего прочтений: 155328
--------------------------------------
  Сейчас читают: 4 чел.

Кнопка сайта
  Если мой сайт вам чем-то помог, поставьте, пожалуйста, на своем сайте такую кнопку:
 
  Код кнопки:
 

 

Операторы JavaScript [Версия для печати]
Разместил: admin . Раздел: JavaScript. Опубликовано: 07-24-2007 23:43:40

Без операторов любой язык программирования бесполезен. Именно с помощью различных операторов производятся все расчёты, действия программ. В JavaScript не так много операторов, как в других языках высокого уровня. В JavaScript есть основные правила, которые должны соблюдаться для любых операторов. Если в одной строке кода записаны несколько выражений (законченных последовательностей вычислений, расчётов), то они должны быть разделены точкой с запятой (знак ";"), а если в строке только одно выражение, то разделителем служит возврат каретки (Enter).

a = b + c; d = "if (a > 0) {round(a) ++}"; eval(d)
alert(a)
Оператор присваивания

Служит для присваивания значений переменным. Слева от этого оператора пишется имя переменной, которой присваивается значение, находящееся справа от оператора. Знаком оператора присваивания служит "=". Если этот знак равенства пишется в каком-либо условии (например, оператора if), то он служит оператором сравнения и никаких значений не присваивает.

a = "34"
b = 5
c = a + b /* в результате получится строка "345", т.к. значение
переменной a является не числом, а строкой. */
Арифметические операторы

Простые операции сложения, вычитания, умножения и т.д. в языке JavaScript применимы к числовым и логическим типам переменных. Знак плюс ("+") в строках осуществляет конкатенацию (приписывание второй строки к концу первой строки). Если плюсовать к строке число или логическое значение, то оно будет интерпретироваться, как строка и получится конкатенация.

+      сложение                                    x + y
-      вычитание                                   x - y
*      умножение                                   x * y
/      деление                                     x / y
%      деление по модулю (возвращает остаток)      x % y
++     увеличение значения на единицу              x++
--     уменьшение значения на единицу              x--

Как уже говорилось раньше, данные логического типа при арифметических операциях над ними просто преобразуются в числовые данные: true в 1, false в 0. После этого вычисления над ними производятся как для обычных чисел. Операции над логическими данными такие-же, как и для числовых. Вот некоторые примеры:

a   b  a+b           a   b  a*b
0   0   0            0   0   0
0   1   1            0   1   0
1   0   1            1   0   0
1   1   2            1   1   1

Пара примеров использования арифметических операторов для строк и логических выражений:

true + true      // в результате 2
true * false     // в результате 0
3 / true         // в результате 3
"7" + true       // в результате "7true"
"Next" * true    // в результате NaN, т.е. расчёт не возможен
"7" * true       // в результате 7
true / 5         // в результате 0.2
Дополнительные операторы присваивания

Эти операторы служат для упрощения записи простых арифметических операторов.

оператор          пример           эквивалент
   +=              a+=b            a = a + b
   -=              a-=b            a = a - b
   *=              a*=b            a = a * b
   /=              a/=b            a = a / b
   %=              a%=b            a = a % b
Операторы сравнения

Эти операторы необходимы при задании различных условий. Операторы сравнения возвращают логические значения true или false. То есть любое выражение может или выполняться или нет, другого не дано. Числовые данные сравниваются по обычным правилам арифметики. Логические значения переводятся в числовые (true в 1, false в 0) и сравниваются как числа. А вот строки сравниваются по сумме ASCII-кодов содержащихся в строках символов. Если один из двух сравниваемых операндов имеет строковый тип, то и второй операнд тоже переводится в строку. Если одно из операндов - логическое значение, а другое - строка, пустая или содержащая только пробелы, операнды будут приведены к числовому значению. Такая строка будет значить 0, а если строка не пуста - в любой операции сравнения возвратится значение false, а с оператором "!=" - true.

==            равно                a == b
!=            не равно             a != b
>             больше               a > b
<             меньше               a < b
>=            не меньше            a >= b
<=            не больше            a <= b
Логические операторы

Они нужны для создания более сложных условий, нежели простые операции сравнения. Логические операторы возвращают логические значения true или false. Часто нужно проверить, является ли строка пустой (не содержащей ни одного знака, только пустые кавычки). Допустим, переменная z = "" (пустой стороке), тогда условие !z истинно, а просто z - ложно. И всё наоборот, если строка z не пуста.

!         не          !a
&&        и           a && b
||        или         a || b

Таблица истинности для двух логических значений:

  a       b          a && b         a || b
false   false        false          false
false   true         false          true
true    false        false          true
true    true         true           true

Примеры принципов действия логических операций:

x = true || 2*2==1            // результат true
y = 1/3<=0.3 && 2*3==6     // результат false
Оператор условия if

Данный оператор используют в том случае, когда нужно проверить какое-либо условие. Поэтому он и называется условным оператором. Работа оператора заключается в следующем. Если условие в скобках после слова if истинно, то выполняются операторы, находящиеся в фигурных скобках после слова if. Если условие ложно, то выполняются операторы в фигурных скобках после слова else. Если в фигурных скобках только один оператор, то их можно не писать. Оператор if может возвращать значение последнего выполненного выражения во внутреннем коде.

if (document.all) alert('В документе есть содержимое')
else alert('Документ пуст, не содежит ни одного элемента')

Если надо выполнить только один оператор, тогда фигурные скобки можно не писать:

if (a > 0 && b >= 0) { b = log(b); alert(b / a) }
else alert('Решений нет')

Фигурные скобки можно расположить как угодно, на вкус программиста:

if (clr) { my.style.fontWeight = '700'; my.style.color = 'maroon' }
// сработает, если clr имеет значение true.
else myfunction2()

if (event.srcElement.tagName == 'P') {
  mytext.style.fontWeight = '700'; mytext.style.color = 'maroon'
  }
else myfunction2()

if (event.srcElement.tagName == 'P')
{
mytext.style.fontWeight = '700'; mytext.style.color = 'maroon'
}
else myfunction2()

Часть синтаксиса условного оператора, начинающаяся со слова else не обязательна. В таком случае скрипт проверит условие, если оно истинно, выполнит/не выполнит операторы после слова if и перейдёт на следующий код.

if (form[2].slct[0].checked) mytext.style.fontStyle = 'italic'

Условные операторы можно вкладывать друг в друга. Вот пример такого вкладывания:

if (document.all) // проверяется, а не пуст ли документ
{
   if (event.srcElement.className == 'toplinks')
   {
   mylink.src = 'http://www.ya.ru/'        // подмена цели
   mylink2.src = 'http://www.rambler.ru/'
   }
}
else window.open('http://www.dronn.ru/alternate/', 'My Site')
Оператор выбора switch

Если нужно проверить несколько вариантов переменной или выражения, необходимо использовать оператор switch. Действует он так. После слова switch в круглых скобках пишется выражение (любое: логическое, строковое, числовое...), которое имеет какое-то значение (true/false для логических, строки для строковых типов, числовые значения для числовых типов выражений). После слова case пишется какое-либо значение. Если значение выражения после слова switch совпадает со значением в каком-нибудь из case'ков, то, выполняется код, заданный в совпавшем case'ке. Есть одно "но": если после case, значение которого совпало, не стоит слова break, то выполняются коды и всех последующих case'ков до слова break. Вот так. Встретив после элемента case (значение которого совпало со значением выражения после switch) ключевое слово break, скрипт, выполнив только код этого case, закончит выполнять данный оператор switch и перейдёт к следующему оператору. Интерпретатор сверху вниз сравнивает каждое значение case, и, пока не найдено верное значение, break'и не действуют. Операторы после слова default выполняются, если интерпретатор не нашёл ни одного верного значения case.

z = 2
switch (z) // проверяются различные значения переменной z
{
case 1: alert('z равно одному')
break
case 2: alert('z равно двум') // этот код выполнится, т.к.
break                         // мы задали значение переменной z = 2.
case 3: alert('z равно трём')
break
default: alert('Чёрт его знает, какое сейчас значение переменной z')
break
}
Этот пример (почти)

Ключевые слова break можно опустить или писать только после некоторых элементов case, не всех. Строку defaul тоже можно убрать, если она не нужна. Фигурные скобки можете ставить как вам нравится, это дело вкуса. Оператор switch может возвращать значение последнего выполненного выражения, конечно, если ему приравнять какую-нибудь переменную.

text = 'Hello'
switch (text)
{
case '': alert('Значение переменной text равно пустой строке')
case 'Hello': alert('Значение переменной text равно "Hello"')
     // этот код и код ниже выполнятся, т.к. break'ов мы здесь не написали
case 'Hello! World': alert('Значение text  равно "Hello! World"')
}
Оператор for

Это цикл со счётчиком циклов прохождения. Его обычно используют в случаях, когда необходимо проделать одну и ту же операцию определённое количество раз. Параметры в квадратных скобках не обязательны. Начальное выражение выполняется только один раз перед запуском цикла. Пока выполнено условие, цикл повторяется. Выражение обновления выполняется каждый раз после прохождения тела цикла (кода). Оператор for, как и все операторы цикла и операторы условия (if, switch), может возвращать значение последнего выполненного выражения.

for ([начальное_выражение]; [условие]; [выражение_обновления])
{
код
}

Чтобы создать счётчик, надо задать начальное значение переменной счётчика (например, i) и условие переменной счётчика. Например, в следующем примере цикл повторится 10 раз (повторения тела цикла называются итерациями). Находим сумму всех целых чисел от 1 до 10:

x = 1
for (i = 1; i <= 10; i++)
{
x = x + i
}
Пример оператора for

Оператор break во вторичном условии останавливает цикл for, без выполнения последующих в теле цикла операторов и выражение обновления тоже не выполняется. Происходит переход на следующий после цикла for оператор.

Оператор continue во вторичном условии прекращает прохождения цикла for, последний раз выполняется выражение обновления и происходит переход на следующий после цикла for оператор.

for ([начальное_выражение]; [условие]; [выражение_обновления])
{
код
if (вторичное_условие)
   {
   код
   break // или continue
   }
код
}
Оператор while

Подходит для многократного выполнения кода при каком-либо условии. Сначала интерпретатор проверяет условие. Если условие истинно, выполняется тело цикла. Потом снова проверяется условие... Вобщем, пока условие истинно, цикл выполняется. В теле цикла не забывайте изменять переменную, корую интерпретатор проверяет в условии. Иначе цикл будет повторяться бесконечно, браузер зависнет. Во вторичном условии (смотрите предыдущий оператор) можно использовать операторы прерывания continue и break. Оператор while может возвращать значение последнего выполненного выражения в теле цикла.

while (условие)
{
код
}

В следующем примере найдём сумму всех чётных целых чисел от 2 до 100. Переменная x будет хранить поочерёдно все чётные значения от 2 до 100. Переменная z будет хранить результат.

x = 2
z = x
while (x <= 100)
{
z = z + x
x = x + 2
}
Пример оператора while
Оператор с постусловием do... while...

Этот оператор очень похож на предыдущий (while) и принципиально отличается от него только тем, что в нём сначала выполняются операторы тела цикла, а потом проверяется истинность условия. Таким образом, независимо от того, истинно или ложно условие, одна итерация (повторение тела цикла) произойдёт. В остальном операторы do.. while... и while одинаковы. Оператор do... while... тоже может возвращать значение последнего выполненного в теле цикла выражения.

do
{
код
}
while (условие)

В следующем примере пока вы не просмотрите все 5 цифр, цикл будет вас мучить:

var x = 0
do
{
  ++x
  alert(x)
}
while (x < 5)
Примерчик с do... while...
Приоритеты операторов

В условиях и других сложных выражениях часто возникает проблемка: как же правильно составить все простейшие операторы. Ниже приведены операторы по порядку убывания приоритетов. Есть простейший способ группировки простейших выражений: как в математике, создать алгоритм обработки с помощью круглых скобок. Скобки могут вкладываться друг в друга.

круглые скобки                               ()
отрицание                                    -
логическое отрицание                         !
инкремент                                    ++
декремент                                    --
умножение                                    *
деление                                      /
деление по модулю                            %
сложение                                     +
вычитание                                    -
меньше                                       <
не больше                                    <=
больше                                       >
не меньше                                    >=
равенство                                    ==
неравенство                                  !=
логическое И                                 &&
логическое ИЛИ                               ||
условное выражение                           ?
операторы присваивания                       =
                                             +=
                                             -=
                                             *=
                                             /=
                                             %=
запятая - разделитель параметров             ,

Источник: http://proofy.ru/wmaster/manual_js/operators.php   Прочитана 895 раз.
  Закладки:  
     
     
     




     
   TIGER EMAIL tiger1989@mail.ru
online SpyLOG тИЦ и PR
Copyright 2007 by TIGERCMS.com
Powered by TIGER-News v1.1