Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Web-программирование - это просто!


Новое на сайте Программирование - это просто! (www.easyprog.ru):

В платном разделе

В бесплатном разделе

Добрый день, уважаемые подписчики!

Тема сегодняшнего выпуска: «Java Script: варианты выбора, конструкция switch...case».

 

Вы уже знакомы с такой конструкцией ветвления, как if ... else. Попробуем при помощи этой конструкции написать функцию правильного склонения слова "год", а потом переписать ее с использованием более компактного оператора switch.

И так, первый вариант:

 

<HTML>
<HEAD>
<TITLE>Урок 40. Java Script: оператор множественного выбора</TITLE>
</HEAD>


<BODY>
<SCRIPT Language="JavaScript" type="text/javascript">
var age=parseInt(prompt("Введите ваш возраст",""));
if (!isNaN(age))
{
var last=age%10;
var last2=age%100;
var def=(last>1)+(last>4)+(last==0)*2+(last>10)*10+(last2>10)*(last2<20)*2;
if (def==0)
{
var text=" год";
} else
{
if(def==1)
{
var text=" года";
} else
{
var text=" лет";
}
}
document.write("Вам ",age,text);
} else document.write("Вы не пожелали назвать свой возраст");
</SCRIPT>
</BODY>
</HTML>
 

 

 

А вот и второй вариант:

 

<HTML>
<HEAD>
<TITLE>Урок 40. Java Script: оператор множественного выбора</TITLE>
</HEAD>


<BODY>
<SCRIPT Language="JavaScript" type="text/javascript">
var age=parseInt(prompt("Введите ваш возраст",""));
if (!isNaN(age))
{
var last=age%10;
var last2=age%100;
var def=(last>1)+(last>4)+(last==0)*2+(last>10)*10+(last2>10)*(last2<20)*2;
switch (def)
{
case(0):
var text=" год";
break;
case(1):
var text=" года";
break;
default:
var text=" лет"
}
document.write("Вам ",age,text);
} else document.write("Вы не пожелали назвать свой возраст");
</SCRIPT>
</BODY>
</HTML>
 

 

Делает абсолютно то же самое, но выглядит гораздо компактнее и более удобочитаемо. А если условий выбора было бы больше, например. десяток? Тогда уж точно, без switch ... case не обойтись. И, напоследок, синтаксис конструкции:

 

switch (<Параметр>) {

    case(<Значение 1>):

    <оператор1>

    break

    case(<Значение 2>):

    break

...

    default:

   <оператор по умолчанию>

}

 

С уважением, Шуравин Александр, e-mail: megabax@rambler.ru, автор оставляет за собой право публиковать в рассылках ваши письма, если в письме прямо неоговорено нежелание его публиковать.

 


В избранное