JavaScript:返回undefined而不是Object

时间:2015-12-03 08:54:34

标签: javascript return

任何人都可以解释我: 为什么这是错的:

if (current <= last) {
    //here!
    return
    {
        done: false,
        value: current++
    };
} else {
    return
    {
        done: true
    };
}

这是对的吗?

if (current <= last) {
    //error here
    return {
        done: false,
        value: current++
    };
} else {
    return {
        done: true
    };
}

在这两种情况下代码都会返回对象,但是当我将第一个对象括号移动到新的行代码时,它会停止工作。

1 个答案:

答案 0 :(得分:1)

因为“返回”然后新行是一个完整的语句,它将不会返回任何内容,因为在return之后没有任何内容,它会返回undefined

好像你会写return;