Javascript 一个函数返回一个数组,还是多个函数?

Javascript 一个函数返回一个数组,还是多个函数?,javascript,performance,Javascript,Performance,我在一些我正在修改的代码中遇到了这一点,我很好奇,除了个人喜好之外,是否还有其他理由这样做。考虑到使用几个带有描述性名称的小函数是多么容易,我觉得这似乎是不必要的混淆。代码的目的是验证许多变量,以确保在生成业务数据报告时数据格式正确且在可接受的范围内。该报告主要只是一个工具,用来引起人们对日程安排问题的关注 有一个函数传递多个值,对每个值运行测试,然后将所有结果作为布尔数组传递回 function testAll(test1, ..., test10) { var results = [

我在一些我正在修改的代码中遇到了这一点,我很好奇,除了个人喜好之外,是否还有其他理由这样做。考虑到使用几个带有描述性名称的小函数是多么容易,我觉得这似乎是不必要的混淆。代码的目的是验证许多变量,以确保在生成业务数据报告时数据格式正确且在可接受的范围内。该报告主要只是一个工具,用来引起人们对日程安排问题的关注

有一个函数传递多个值,对每个值运行测试,然后将所有结果作为布尔数组传递回

function testAll(test1, ..., test10) {
    var results = [false, ..., false];
    if (test1 condition == true) {
        results[0] = true;
    }
    ...
    if (test10 condition == true) {
        results[9] = true;
    }
    return results;
}
然后调用该函数并像这样使用

var tblData = getCurrentData(); // function that gets database info through AJAX

for (i = 0; i < tblData.Rows.Count; i++) {

    // some code to append table element

    var results = testAll(strStartDate, ..., strTotalHours);
    if (results[0] == true) {
        $('#startDate' + i.toString()).css('background-color', 'red');
    }
    ...
    if (results[9] == true) {
        $('#projectTime' + i.toString()).css('background-color', 'red');
    }
}
var tblData=getCurrentData();//通过AJAX获取数据库信息的函数
对于(i=0;i

最初的作者已经离开了,没有对他的代码进行注释

虽然这在技术上可能无法解决我提出的问题,但在这种情况下,这是清理代码的解决方案

在进一步检查之后,使用执行css格式化的非值返回函数更有意义,因为评估后的任务是多么简单

-修正函数

function verifyData(startDate, ..., timeSpent) {
    if (startDate isValid != true) {
        $('#startDate' + i.toString()).css('background-color', 'red');
    }
    ...
    if (timeSpent isValid != true) {
        $('#projectTime' + i.toString()).css('background-color', 'red');
    }
}
-调用和使用的新方法

var tblData = getCurrentData(); // function that gets database info through AJAX

for (i = 0; i < tblData.Rows.Count; i++) {
    // some code to append table element
    verifyData(strStartDate, ..., strTotalHours, i);
}
var tblData=getCurrentData();//通过AJAX获取数据库信息的函数
对于(i=0;i
尝试发布实际的代码,这两种方法在我看来都是错误的。代码重用。如果这个家伙希望这个函数在多个地方使用。这需要上下文,但听起来确实很傻。这纯粹是原作者的懒惰,也不是好作家。我所能推荐的就是开始编写该函数。向它抛出一堆输入,看看结果数组是什么样子。然后找到调用此函数的所有位置,并尝试对原始作者试图执行的WTF进行反向工程。此外,如果您发布原始代码,它可能是一个很好的候选。我认为此解决方案正是原始作者想要的,但不确定它将如何影响可重用性。