Страницы

Поиск по вопросам

пятница, 31 января 2020 г.

Передача переменных между функциями javascript

#функции #переменные #javascript


Например две функции:
var func1 = function(var1, var2,..., varN) {
    var first  = var1 + var2;
    var second = first + varN;
    ....
}

var func2 = function() {
}

как-то можно передать переменные, например first во вторую функцию не объявляя её
глобальной?    


Ответы

Ответ 1



Как вариант так: var func1 = function(var1, var2,..., varN) { var first = var1 + var2; var second = first + varN; .... return first; } var func2 = function(getFirst) { var first = getFirst(var1, var2,..., varN); } Вообще, функция должна что-то принимать и что-то возвращать. Лучше будет даже так: var func1 = function (args) {var first; .....; return first}, func2 = function (first)) {}; func1(func1(args)); Во избежания такой некрасивой вложенности лучше использовать временные переменные: var func1 = ...., func2 = ......, first = func1(args); func2(first)

Ответ 2



Например: Вернуть переменную из одной функции, получить во второй: function f1(){ var trololo = 345; return trololo; } function f2(){ var myTrololo = f1(); } Объявить вторую функцию внутри первой : function f1(){ var trololo = 345; function f2(){ var myTrololo = trololo; } } Использовать для связи какой-нибудь объект, к которому будут иметь доступ обе функции: var GodObj = {}; function f1(){ var trololo = 345; GodObj.lala = trololo; } function f2(){ var myTrololo = GodObj.lala; } Собственно вызвать вторую функцию из первой, с некоторым обычно необязательным параметром, но конечно тут зависит от того что эта функция делает function f1(){ var trololo = 345; f2(trololo); } functin f2(trololo){ if(typeof(trololo)!='undefined') myTrololo = trololo;// Если такой параметр есть }

Комментариев нет:

Отправить комментарий