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

How to pass an array to another function in Javascript?

本文关键字:另一个 函数 数组 Javascript      更新时间:2023-09-26

我不确定如何将这个数组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参数的情况下移动此数组。这是因为这个函数在其他地方也被调用,我不能混淆不同的参数。有没有一种方法可以构建一个"get"函数来获取我的数组foo?

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

function getHolidayWithArray(monthSelected, theday, fooArray) {
    getHoliday(monthSelected, theday);  // invoke getHoliday
    // work with fooArray
}

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

因此,您可以向getHoliday添加一个额外的参数,并使用一些条件逻辑为其设置默认值,如果它是undefined或在window上设置foo,则可以忽略它。

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

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

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

var holidayName = foo || "Some default";