JavaScript函数作为函数参数的默认值

时间:2014-06-28 18:23:31

标签: javascript function

定义具有可选参数的函数的标准方法是什么,它本身就是一个函数?

例如,我希望anotherFunction()返回true,如果它没有定义。

function myFunction ( anotherFunction ) {
    /*
    some code here
    */
    return anotherFunction ();
}

3 个答案:

答案 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。