0

我不确定如何将此数组传递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"]

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

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

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

4

3 回答 3

1

如果您不想更改 的参数,请getHoliday(),创建另一个接收所有 3 个参数的函数,将其中两个传递给 的调用getHoliday(),然后处理数组。

function getHolidayWithArray(monthSelected, theday, fooArray) {

    getHoliday(monthSelected, theday);  // invoke getHoliday

    // work with fooArray
}
于 2013-02-24T18:42:16.490 回答
0

向 getHoliday 添加附加参数不会影响调用它的其他函数。

因此,您可以添加一个附加参数getHoliday并使用一些条件逻辑为其设置默认值,或者如果它是undefined或则忽略它fooon window

于 2013-02-24T18:41:13.910 回答
0

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

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

任何只用两个参数调用的东西都将继续起作用,并且foo将是undefined. 因此,您可能需要检查并holidayName在这种情况下设置默认值,例如:

var holidayName = foo || "Some default";
于 2013-02-24T18:44:17.990 回答