定义具有可选参数的函数的标准方法是什么,它本身就是一个函数?
例如,我希望anotherFunction()返回true,如果它没有定义。
function myFunction ( anotherFunction ) {
/*
some code here
*/
return anotherFunction ();
}
答案 0 :(得分:2)
function myFunction ( anotherFunction ) {
/*
some code here
*/
return (typeof anotherFunction == "function") ? anotherFunction() : true;
}
这有副作用,确保参数是一个函数,而不是一些垃圾。如果您喜欢投掷,请使用return anotherFunction ? anotherFunction() : true;
。
答案 1 :(得分:1)
只测试是否传递了值:
return anotherFunction ? anotherFunction() : true
答案 2 :(得分:1)
我使用
function myFunction ( anotherFunction ) {
anotherFunction = anotherFunction || function(){ return true; };
/*
some code here
*/
return anotherFunction ();
}
这符合OP希望用函数默认可选参数,而不仅仅是让myFunction返回true。