假设我有一个这样的函数,我在整个脚本中调用它:
function form_senden( form_name, cnf, confirm_txt, trigger_field, ,do_check, chknfcs, allow, errorMsg ){
// do something
}
在我的大多数函数调用中,我只传递第一个参数。
问题:
在这种情况下是否可以省略传递空参数,如下所示:
form_senden("abc");
或者我是否需要传递所有参数,无论它们是否如此使用:
form_senden("abc","","","","","","","","");
谢谢!
答案 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保留为空或传入未定义。