Роботландский Университет © А.А.Дуванов

СПРАВОЧНИК

содержание
конструкции | операции | функции | слова
Date | Array | String | Math
window | document | коллекции | event | history | location | navigator | screen
события

конструкции языка

Ниже приводится список управляющих конструкций языка JavaScript.

конструкция описание
break;

Команда прерывания цикла

Команда, прерывающая последовательное выполнение команд внутри цикла (while, for) или переключателя (switch) и передающая управление на первую команду за циклом или переключателем.

// Произведение начальных членов
// массива до первого нулевого
var set = new Array();
var p = 1;
for(var i=0; i<set.length; i++)   
  if (set[i]) p *= set[i];
  else        break;
alert(p);
continue;

Команда продолжения цикла

Команда заставляет браузер пропустить все команды до конца цикла (while, for), но цикл продолжается.

// Произведение всех ненулевых членов массива
var set = new Array();
var p = 1;
for(var i=0; i<set.length; i++)   
{
  if (!set[i]) continue;
  p *= set[i];
}
alert(p);

Эту программу, конечно, лучше переписать так:

// Произведение всех ненулевых членов массива
var set = new Array();
var p = 1;
for(var i=0; i<set.length; i++)   
  if (set[i]) p *= set[i];
alert(p);
for(нач; усл; приращ)
  команда

Команда цикла

Команда нач выполняется один раз перед входом в цикл. Цикл состоит в повторении следующих действий:

  • проверка условия усл
  • выполнение команды команда
  • выполнение команды приращ

Если условие ложно, цикл прекращается (команда и приращ после отрицательной проверки не работают).

// Произведение нечетных чисел массива
var set = new Array();
var p = 1;
for(var i=0; i<set.length; i++)   
  if (set[i]%2) p *= set[i];
alert(p);
for(индекс in объект)
  команда

Команда цикла

Специальная форма цикла, используемая для работы с объектами. Здесь:

  • индекс — это имя переменной, используемой для доступа к свойствам экземпляра объекта и их значениям;
  • объект — это имя экземпляра объекта, к которому осуществляется доступ.
var str = "Свойства объекта:\n\n";
for(var i in )  
  str += i+"="+[i]+"\n";
alert(str);

Переменная i принимает значение имени свойства, а navigator[i] — значение этого свойства.

function имя (параметры)
{
  команды
}

Описание функции (обычной или конструктора объекта)

  • имя — имя функции
  • параметры — список переменных (через запятые)
  • команды — последовательность команд, реализующих алгоритм функции; среди команд функции возможны команды return выражение;, если функция возвращает значение
// Случайное целое число из диапазона [a,b]
function rnd(a,b)
{
 return Math.floor(a + (b-a+1)*Math.random());
}

var x = rnd(,);
alert(x); 
if (условие) команда1;
else         команда2;
или
if (условие) команда1;

Условная команда

Если условие принимает значение true, выполняется команда1, иначе команда2.
В сокращенной форме ветвь else отсутствует.

// Абсолютное значение числа
var x = ; 
if (x < 0) x = -x;
alert(x);

var x = new объект(пар);

Создание экземпляра объекта

  • x — имя переменной
  • объект — имя объекта
  • пар — параметры (значения) объекта
var str = new String(""); 
var set = new Array(str, 1, );
alert(set);
return;

Выход из функции

Команда, возвращающая значение из функции.

// Сумма элементов массива
function Sum(a)
{
  var s = 0;
  for(var i=0; i<a.length; i++)
    s += a[i];
  return s;
}
var set1 = new Array(); 
var set2 = new Array();
alert(Sum(set1)+Sum(set2));
switch(выражение)
{
  case вариант1:
       команды
       break;
  case вариант2:
       команды
       break;
  ...
  default:
       команды
}

Переключатель

Переключатель (выбор варианта из возможных). Управление передается на команды, расположенные за первым по порядку case, в котором значение варианта совпадает со значением выражения, записанного в заголовке switch (выражение). Команда break передает управление на первую команду, следующую за конструкцией switch.

Если команда break отсутствует, проверка вариантов продолжается. Вариант default (он может отсутствовать) срабатывает тогда, когда значение выражения не соответствует ни одному из вариантов case.

var Day = ; 
var NameDay;
switch(Day)
{
  case 1:
    NameDay="понедельник";
    break;
  case 2:
    NameDay="вторник";
    break;
  case 3:
    NameDay="среда";
    break;
  case 4:
    NameDay="четверг";
    break;
  case 5:
    NameDay="пятница";
    break;
  case 6:
    NameDay="суббота";
    break;
  case 7:
    NameDay="воскресенье";
    break;
  default:
    NameDay="ошибка";
}
alert(NameDay)
this

Ссылка на текущий экземпляр объекта

<HTML>
 <HEAD>
  <META content="text/html;
    charset=windows-1251">
  <SCRIPT language=JavaScript>
  <!--
   function Name(obj)
    {
      alert("Им\я кнопки: "+obj.value); 
    }
  //-->
  </SCRIPT>
 </HEAD>
 <BODY>
  <FORM>
   <INPUT type="button" value="Go"
          onclick="Name(this)">
   <INPUT type="button" value="Show"
          onclick="Name(this)">
   <INPUT type="button" value="Закрыть"
          onclick="window.close()">
  </FORM>
 </BODY>
</HTML>
var имя = выражение;
или
var имя;

Описание переменной

Создается переменная имя со значением выражение.
var str = new String(""); 
var opr;
alert(str+"\n"+opr);
while(условие)
  команда

Команда цикла

Цикл состоит в повторении следующих действий:
  • проверка условия условие
  • выполнение команды команда
Если условие ложно, цикл прекращается (команда после отрицательной проверки не работает).
// наибольший общий делитель 
// двух чисел
function Nod(a,b)
{
  while(b)
  {
    var d=a%b;
    a=b;
    b=d;
  }
  return a;
}
alert(Nod(,));
with(объект)
{
  команды
}

Работа с объектом

Упрощение записи при многократных обращениях к объекту. В блоке { команды } имя объект при обращении к его методам и свойствам можно не указывать.

Запись

var a = Match.PI/2;
var b = Match.sin(b);
равнозначна такой:
with(Match)
{
  var a = PI/2;
  var b = sin(b);
}
{
  команды
}

Блок (составная команда)

Используется для обрамления тела функции и там, где синтаксис языка требует одну команду, а надо несколько.

// Сколько раз максимальный элемент
// массива в нем повторяется
var a = new Array(");
var count = 1;
var m = a[0];
for (var i=1; i<a.length; i++) 
  if (a[i]>m)
  {
    m = a[i];
    count = 1;
  }
  else if(a[i]==m) count++;
alert(count);
//строка

или

/*строка
строка
...
строка
строка*/

Комментарий

// Это комментарий
/* Это тоже комментарий */
/*
   Это последний
   комментарий
*/

 

 

содержание письмо автору об авторах