我是否需要将空参数传递给javascript函数?

时间:2012-09-23 21:04:06

标签: javascript function parameters optional-parameters

假设我有一个这样的函数,我在整个脚本中调用它:

  function form_senden( form_name, cnf, confirm_txt, trigger_field, ,do_check, chknfcs, allow, errorMsg ){
  // do something 
  }

在我的大多数函数调用中,我只传递第一个参数。

问题:
在这种情况下是否可以省略传递空参数,如下所示:

  form_senden("abc");

或者我是否需要传递所有参数,无论它们是否如此使用:

  form_senden("abc","","","","","","","","");

谢谢!

7 个答案:

答案 0 :(得分:92)

可以只传递第一个参数,因为其他所有参数都不会被设置。 如果要设置第一个和第三个参数,则需要设置第二个空值,如下所示:

form_senden("a",null,"b");

答案 1 :(得分:17)

form_senden( “ABC”);没关系

其他参数将初始化为未定义

答案 2 :(得分:2)

省略函数参数是可以的,缺少的参数在函数中将具有undefined值。

答案 3 :(得分:2)

你可以form_senden("abc");将默认值放在函数定义中。

    function form_senden( form_name, cnf , confirm_txt , trigger_field , ,do_check , chknfcs, allow, errorMsg  ){

if(typeof(cnf)==='undefined') cnf = '';
if(typeof(confirm_txt)==='undefined') confirm_txt = ''; ...and so on
// do something 
}

答案 4 :(得分:1)

在这里,我找到了将空值或空值传递给函数的解决方案。它可以在node.js中运行

    function returnJSON(name,value1,value2,text){
        return object = {
            'name':name,
            'value1':value1,
            'value2':value2,
            'text':text
        }
    }
    returnJSON('Hello World',undefined,undefined,'This is Text');

答案 5 :(得分:0)

为了完整性,在ES6(ES2015)及更高版本中,可以指定默认值

// `b` will default to 1

function multiply(a, b = 1) {
  return a * b;
}

答案 6 :(得分:0)

关于默认参数设置。如果使用函数f(arg = 1){}之类的默认参数设置,则默认值的设置在传入false,null或零时将不起作用。您必须将arg / parameter保留为空或传入未定义。