2013-02-24 5 views
0

Я не уверен, как передать этот массив foo в другую функцию, где он мне нужен. Вот мой настройки:Как передать массив другой функции в Javascript?

if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
      { 
       var xmlResponse = XMLHttpRequestObject.responseXML; 
       var foo = parseXML(xmlResponse); 
       dataOutput.innerHTML += foo; 
      } 

foo = (2,4,Party---12:00,2,22,Eventalist Launch---6:00,2,18,Play Day---12:00)

JSON = ["2","4","Party---12:00","2","22","Eventalist Launch---6:00","2","18","Play Day---12:00"]

Так что мне нужно передать этот массив переменной HolidayName.

function getHoliday(monthSelected,theday) 
{ 
    monthSelected = monthSelected + 1 
    var holiday = "" 
    var HolidayName = "NEEDS TO BE foo" 
} 

Я не уверен, могу ли я перемещать этот массив без изменения параметров getHoliday. Это потому, что эти функции называются и в других местах, и я не могу смутить разные параметры друг для друга. Есть ли способ построить «получить» функции, чтобы получить мой массив foo?

+0

Вы можете запустить 'JSON.stringify (Foo)' и размещать выходные здесь? –

ответ

0

Если вы не хотите изменять параметры getHoliday(),, тогда создайте еще одну функцию, которая получает все 3 аргумента, передает два из них вызову getHoliday() и обрабатывает массив.

function getHolidayWithArray(monthSelected, theday, fooArray) { 

    getHoliday(monthSelected, theday); // invoke getHoliday 

    // work with fooArray 
} 
0

Добавление дополнительного параметра в getHoliday не повлияет на другие функции, вызывающие его.

Таким образом, вы можете добавить дополнительный параметр getHoliday и использовать некоторую условную логику, чтобы установить значение по умолчанию для него или игнорировать его, если он undefined или установить foo на window.

0

Вы можете добавить параметр в конец функции getHoliday, например, так:

function getHoliday(monthSelected, theday, foo) { 
    //... 
} 

Все, что звонит только с двумя параметрами будет продолжать функционировать и foo будет undefined. Таким образом, вы, вероятно, хотите, чтобы проверить, что и сделать holidayName значение по умолчанию в этом случае, например .:

var holidayName = foo || "Some default";