Урок 11 по JScript — конструкция switch…case

Урок 11 по JScript — конструкция switch…case Программирование на JSCRIPT

Доброго времени суток всем читателям блога scriptcoding.ru. В этой статье мы познакомимся с конструкцией языка программирования JScript — switch case, которая позволяет выполнять программный код в зависимости от условия.

Использование в сценариях js switch case конструкции актуально тогда, когда нужно выполнить то, или иное выражение в зависимости от условия. Конечно, для таких целей можно использовать и условный оператор if (смотрите статью «Урок 8 по JScript: Условного оператора if…else«), но это приведёт к расточительству строк кода, что не есть хорошо.

Давайте посмотрим на общий синтаксис конструкции switch case:

switch (<переменная>) {
case<значение1>:
<выражение1>
break;
case<значение2>:
<выражение2
break;

…………………….

case<значениеN>:
<выражениеN

break;
default:
<выражение>
break;
}

Хорошо, теперь давайте рассмотрим все подробно. Сразу после ключевого слова js switch в круглых скобках указывается имя переменной, которую нужно проверить, после, идут фигурные скобки, между которыми будет проходить проверка. Как видим, после ключевого слова js case следует значение, которое может принимать переменная. То есть, идёт проверка: если переменная ровна значению 1, то, выполнить одно выражение, если значению 2 – то другое, и так n-е количество раз. Ключевое слово default прописывается в конце, программный код в нём будет выполняться в том случае, если ни одно из предыдущих значений не подошло. Также, обратите внимание на оператор break (выход из цикла), если его не прописывать, то будет происходить последовательна проверка всех меток js case, даже в том случае, если подходящее значение уже найдено. При желании, можно вместо break использовать оператор jscriptreturn.

Конструкция JS SWITCH CASE

js sewitch case

Хорошо, с теорией закончили, теперь можно приступить к программированию.

//*************************************
// конструкция js switch case
// Перебираем типы файлов и их количество
// switch_case.js
//*************************************
 
function my_fun (x){
var str_switch_case_js;
     switch (x){
                 case 1: str_switch_case_js="Число 1";
                 return str_switch_case_js;
                 case 2: str_switch_case_js="Число 2";
                 return str_switch_case_js;
                 case 3: str_switch_case_js="Число 3";
                 return str_switch_case_js;
                 case 4: str_switch_case_js="Число 4";
                 return str_switch_case_js;
                 case 5: str_switch_case_js="Число 5";
                 return str_switch_case_js;
                 default: str_switch_case_js="Другое значение";
                 return str_switch_case_js;
     }
}
 
WScript.Echo (my_fun (5))

В данном случае всё просто, функции my_fun передается один параметр (смотрите статью «Урок 3 по JScript: Объявление пользовательских функций«), в теле функции находится конструкция js — switch case, которая проверяет передаваемый параметр. Видим, что проверке подлежат числа от 1 до 5 – в переменную str_switch_case_js записывается строка «Число 1«, «Число 2«, и так далее, во всех остальных случаях функция вернет строку «Другое значение«.

Стоит сказать, что после ключевого слова case js может следовать не только число, но и любое произвольное выражение, например:

60*60*24:
Math.PI:
n+1:
a[0]:

Давайте рассмотрим такой программный код:

//*************************************
// Инструкция switch case, js сценарий
// 1_switch_case.js
//*************************************
 
//Объявляем переменные 
var FSO, Folder, Files, s, msg;     
var txt=0, log=0, exe=0, bat=0, ini=0, dll=0; ander=0
 
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
 
//Создаем объект Folder для каталога Windows
Folder=FSO.GetFolder("C:\\Windows\\");
 
//Создаем коллекцию файлов  
Files=new Enumerator(Folder.Files);
//Цикл по всем файлам  
for (; !Files.atEnd(); Files.moveNext()) {  
//Получаем расширение файла (FSO.GetExtensionName)
     s=FSO.GetExtensionName(Files.item().Name);
 
     switch (s){
                 case "txt": txt++;
                 break;
                 case "log": log++;
                 break;
                 case "exe": exe++;
                 break;
                 case "bat":bat++;
                 break;
                 case "ini": ini++;
                 break;
                 case "dll": dll++;
                 break;
                 default: ander++;
                 break;
     }
 
} 
//Выводим полученный список типов файлов и их количество
msg = "txt\t" + txt + "\nlog\t" + log + "\nexe\t" + exe;
msg+="\nbat\t" + bat + "\nini\t" + ini + "\ndll\t" + dll + "\nДругие\t" + ander;
WScript.echo(msg);
js switch case

Скачать архив с примерами

В данном сценарии выполняется довольно практическая задача: вначале мы получаем доступ к файлам, которые находятся в каталоге Windows (Тут мы использовали объект FileSystemObject). Переменная s будет хранить расширение файла, в блоке jsswitch case мы проверяем переменную s на тип файла: txt, log, exe, bat, ini иdll и подсчитываем их количество. Количество всех остальных типов файлов хранится в переменной ander.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий