有没有更好的方法来在JavaScript中做可选的函数参数?

这个问题在这里已经有了答案:

  • 为JavaScript函数设置默认参数值13个答案

  • 如果传递了optionalArg,则逻辑将失败,但计算结果为false - 请尝试使用此替代方法

    if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }
    

    或者另一种习语:

    optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;
    

    使用哪一种惯用语向你传达最好的意图!


    我觉得这是最简单,最可读的方式:

    if (typeof myVariable === 'undefined') { myVariable = 'default'; }
    //use myVariable here
    

    保罗·迪克森的回答(以我的见解)比这更不可读,但归结为偏好。

    insin的答案要先进得多,但对于大功能更有用!

    编辑11/17/2013 9:33 pm:我已经为Node.js创建了一个包,使得称为参数的“重载”函数(方法)更容易。


    在ECMAScript 2015(又名“ES6”)中,您可以在函数声明中声明默认参数值:

    function myFunc(requiredArg, optionalArg = 'defaultValue') {
        // do stuff
    }
    

    关于MDN的更多信息(尽管文章标题,它们在JavaScript中被称为“参数”,而不是“参数”)。

    目前只支持Firefox,但由于标准已经完成,希望支持能够迅速提高。

    链接地址: http://www.djcxy.com/p/347.html

    上一篇: Is there a better way to do optional function parameters in JavaScript?

    下一篇: How do I declare a namespace in JavaScript?