功能 - 传递参数。

时间:2016-07-25 08:58:07

标签: javascript node.js

我有一个庞大的代码库,我的任务是实现其他功能。代码是Node.js - Javascript。

有一个功能,它是这样的:

function checkPeople(first, second) {
 if(second) {
   //do some things...
   }
}

多次调用相同的函数,但通常称为:

checkPeople(first);

...或

checkPeople(first, second);

这取决于所使用的内容。参数" first"无论如何总是发送。

现在我必须为同一个函数添加额外的功能,但使用第三个参数:

function checkPeople(first, second, third) {
  if(second) {
   //do some things...
   }
  if(third) {
   //do some things
   }
 }

我想在函数中添加第三个参数,无论函数调用在哪里(大约2次),并检查函数内部参数是否存在。对于参数" second"。

已经完成了

这种方法有效吗?

谢谢

2 个答案:

答案 0 :(得分:1)

如果在调用函数时传入这样的参数,使用null作为第二个参数,它将不会调用第二个参数。假设这是你想要做的。 checkPeople(first, null, third)

答案 1 :(得分:0)

我将在这里做出一个假设,但由于该功能被称为checkPeople,我将假设你为每个人做同样的检查(例如:检查每个人,如果他......存在?)

如果是这种情况:

function checkPeople()
{
    var people = Array.prototype.slice.call(arguments);
    return people.map(function(person) {
        return person == 'eric'; // only eric is a person today
    });
}

现在,你可以这样做:

var results = checkPerson('eric','peter','james'); // [true, false, false];
var result = checkPerson('eric'); // [true]
var result = checkPerson('james'); // [false]

如果对firstsecondthird参数进行了不同的检查,那么您确实仍需要执行if (second) { .. }检查。