Урок 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));                                  //вернет 107
WScript.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));                                                     //вернет 107
WScript.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));                                         //107
WScript.Echo (typeof(summ2));                                    //function

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

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

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

//****************************************
//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«, так что, подписывайтесь на обновления блога, что бы всегда получать свежую информацию.

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