Урок 3 по JScript — создание пользовательских функций JS

Урок 3 по JScript — создание пользовательских функций JS Программирование на JSCRIPT

Приветствую всех читателей блога scriptcoding.ru. В этой статье мы рассмотрим создание пользовательской функции в языке программирования jscript.

Создание пользовательской js функции является необходимостью для любого языка программирования. В этой статье я хотел бы остановиться на этом моменте детальней. Дело в том, что те примеры, которые я приводил ранее, использовали объявление функции стандартным способом: ключевое слово function, после которого следует имя и необязательные параметры, заключенные в круглые скобки, однако, язык программирования JScript, как собрат JavaScript, позволяет использовать и другой подход, так сказать, более взрослый, его то мы и рассмотрим в этой статье.

JS функции – примеры создания

Для начала, напишем небольшой программный код, помним, что сценарии jscript выполняются под управлением сервера Windows Script Host.

//****************************************//Объявление простой js функции//jscript_function.js//**************************************** var temp; temp=200; function summ(x,y){var temp; temp=100;return x+y+temp;}WScript.Echo(summ(2,5));//вернет 107WScript.Echo(temp);//вернет 200

Тут мы сначала создали переменную temp и присвоили ей значение 200, далее произвели объявление js функции summ, ей передаются два параметра x и y. В теле функции мы создали переменную temp – это локальная переменная, она действует только в пределах объявленной функции, смотрите статью «Урок 2 по JScript: Объявление переменных«. Ключевое слово return говорит о том, что summ(x,y) возвращает сумму x, y и temp.

Хорошо, тут всё понятно, теперь давайте посмотрим на пример ниже:

//****************************************//Создание пользовательской js функции//1_jscript_function.js//**************************************** temp1=200; function summ1(x,y){ temp1=100;return x+y+temp1;}WScript.Echo(summ1(2,5));//вернет 107WScript.Echo(temp1);//вернет 100!!!WScript.Echo(typeof(summ1));//вернет function

Фактически, данный приме аналогичен предыдущему – происходит объявление jscript функции summ1, с той лишь разницей, что нет объявления переменных с помощью ключевого слова var (язык не является строгим). Поэтому, вместо 200, строка кода «WScript.Echo (temp) » вернёт 100. Плюс, с помощью оператора typeof можно определить тип данных.

создание пользовательской jscript функции

Хорошо, теперь давайте создание jscript функции с помощью функциональных литералов, смотрим на пример:

//****************************************//Пользовательская js функции//2_jscript_function.js//**************************************** var summ2=function(x,y){var temp2=100;return x+y+temp2;}WScript.Echo(summ2(2,5));//107WScript.Echo(typeof(summ2));//function

Как видим, тут есть переменная summ2, которая и будет служить функциональным литералом, после знака равенства следует ключевое слово function, после него можно прописать имя функции js, но это необязательно, ну и собственно, если есть, прописываются параметры в фигурных скобках. Оператор typeof показывает, что summ2 имеет тип function.

Хорошо, теперь попробуем провести следующий эксперимент:

//****************************************//js функции//3_jscript_function.js//****************************************var summ=function MySumm(x,y){var temp4=100;return x+y+temp4;} with(WScript){ Echo (summ(2,5));//107 Echo (MySumm(2,5));//107 Echo (typeof(summ));//function Echo (typeof(MySumm));//function}

Данный пример аналогичен предыдущему, с той лишь разницей, что после ключевого слова function следует имя MySumm.

создаем пользовательскую js функцию

Хорошо, теперь давайте приведем еще один пример программного кода:

//****************************************//jscrip функции//4_jscript_function.js//**************************************** var summ3;function MySumm3(x,y){var temp5=100;return x+y+temp5;} summ3=MySumm3;with(WScript){ Echo (summ3(2,5));//107 Echo (MySumm3(2,5));//107 Echo (typeof(summ3));//function Echo (typeof(MySumm3));//function}

И опять всё прокатило, мы можем вызывать jscript функцию как через summ3, так и через MySumm3. Ну ладно, мы всё-таки сломим этот «гибкий» JScript, смотрим на пример:

//****************************************//jscrip функции//5_jscript_function.js//**************************************** var summ4, MySumm4;MySumm4=200;function MySumm4(x,y){var temp6=100;return x+y+temp6;}summ4=MySumm4; with(WScript){ Echo (typeof(summ4));//number Echo (typeof(MySumm4));//number  Echo (summ4(2,5));//ошибка!!! Echo (MySumm4(2,5));//ошибка!!!}

И вот тут мы сломили стойкость языка программирования jscript, мы создали переменную MySumm4, и произвели объявление js функции с аналогичным именем. Но язык Jscript все же отдал предпочтение переменной, а не jscript функции.

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

И так, давайте всё подытожим… В этой статьи мы подробно рассмотрели работу с пользовательскими jscript функциями: способы их создания, различные варианты программного синтаксиса кода, а также, попробовали выяснить, при каких условиях происходит сбой в программном коде. В следующем уроке мы рассмотрим примеры создания собственных объектов – смотрите статью «Урок 4 по JScript — класс Object, создание объекта JS«, так что, подписывайтесь на обновления блога, что бы всегда получать свежую информацию.

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