如何在Javascript中将数组传递给另一个函数?

时间:2013-02-24 18:36:04

标签: javascript arrays function get

我不确定如何将此数组foo传递给我需要它的另一个函数。这是我的设置:

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"]

所以我需要将此Array传递给HolidayName变量。

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

我不确定是否可以在不更改getHoliday参数的情况下移动此数组。这是因为这个函数也在其他地方调用,我不能把彼此的不同参数混淆。有没有办法构建一个“获取”函数来获取我的数组foo?

3 个答案:

答案 0 :(得分:0)

为getHoliday添加一个额外的参数不会影响调用它的其他函数。

因此,您可以向getHoliday添加其他参数,并使用一些条件逻辑为其设置默认值,如果undefined上设置foowindow,则忽略它}}

答案 1 :(得分:0)

如果您不想更改getHoliday(),的参数,则创建另一个接收所有3个参数的函数,将其中两个传递给getHoliday(),并处理该数组。 / p>

function getHolidayWithArray(monthSelected, theday, fooArray) {

    getHoliday(monthSelected, theday);  // invoke getHoliday

    // work with fooArray
}

答案 2 :(得分:0)

您可以将参数添加到getHoliday函数的末尾,如下所示:

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

只使用两个参数调用的任何内容都将继续有效,foo将为undefined。因此,您可能需要检查并在此情况下将holidayName设为默认值,例如:

var holidayName = foo || "Some default";