Closed. This question is opinion-based。它当前不接受答案。












想要改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

7年前关闭。



Improve this question




我是Java的新手,我想知道是否有意从函数中返回未定义的值是一种常见的做法。

例如,应该像这样实现divide()函数:
var divide1 = function (x, y) {
    if (y === 0) {
        return undefined;
    }

    return x/y;
};

还是这样?
var divide2 = function (x, y) {
    if (y === 0) {
        throw new Error("Can't divide by 0");
    }

    return x/y;
};

我假设返回undefined通常保留给没有返回值的函数(相当于Java或C#中的void)。

最佳答案

这是默认值:

function foo() {}
console.log(foo());

但事实证明,这不是一个好选择。可能会进入异常状态的代码不应默默地执行。 JavaScript中存在许多错误,因为当出现问题时代码不会猛烈地破坏,从而使漏洞无处可逃。

因此,除非您是一个出色的优秀开发人员,并且可以保证将碰到此代码的每个人都处于同一水平并且永远不会犯错误,否则可以返回undefined。我本人会抛出异常(exception)。

原来我不是一个足够好的开发人员:-)

关于javascript - Javascript函数是否有意故意返回未定义的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23473495/

10-12 01:24
查看更多