使用未定义的值调用javascript函数

时间:2012-06-12 09:14:38

标签: javascript jquery

我在javascript中有一个函数:

function test(a, b, c) {
    if(typeof b == "undefined")
      //do something 
    //function code
}

现在我想以这样的方式调用此函数,以便typeof b remains undefineda & c containes值(不重新排序ab& {{1 } ),如

c

4 个答案:

答案 0 :(得分:9)

只需传递undefined(不带引号):

test("value for a", undefined, "value for c");

答案 1 :(得分:4)

任何变量(未定义)。

var undefinedVar;
test("value for a", undefinedVar, "value for b");

答案 2 :(得分:4)

如果您知道要么传递a,b和c,要么传递a和c,我建议采用另一种方法。然后按以下步骤操作

function test(a, b, c) {
  if (arguments.length < 3){
      c = b;
      b = arguments[2]; //undefined
      //do want ever you would do if b is undefined
  }
}

在这种情况下,如果你错误地为b传递了一个未定义的东西,它更容易被发现,因为它不被解释为“undefined实际上并不意味着未定义但是是一个标志告诉我做一些不同的事情”测试参数长度通常比依赖参数值更稳健,特别是如果该值也可能是错误的结果(即如果值未定义)

答案 3 :(得分:0)

您可以使用void运算符:

test('value for a', void 0, 'value for c');

void运算符评估expression并返回undefined