javascript - return 和 return false 的区别

标签 javascript return

假设我有一个 JavaScript 函数:

function myfunction (x) {
    if (x===0) {
         return false; //return;
    };
    //some code
};

return 之间有区别吗?或return false

我这么问是因为有人建议我只使用 return (他没有解释原因)。

我用它来退出函数而不做任何其他事情。在这个简单的例子中,我可以使用 if (x!==0) {};但在较长的函数中,嵌套 if 语句也许(如果我错了请告诉我)不是一个好主意。

最佳答案

考虑一下这段代码

function myFunc(){
  return; // exists function and returns `undefined`
}
const myVar = myFunc() // myVar === undefined

并使用false

function myFunc(){
  return false; // exists function and returns `false`
}
const myVar = myFunc() // myVar === false

在这两种情况下,这都是相同的:

if (!myFunc()) { console.log('this gets executed if falsy value is passed') }

因此,对于这个用例来说,它们几乎是相同的(请注意,如果您与 === 进行任何其他类型的比较,那就是不同的故事),您应该更喜欢使用哪一个?

我建议始终返回一些内容,在本例中是false,因为如果您的函数没有return语句,那么它将始终返回undefined >。因此,为了更容易调试,最好返回 false 而不是 undefined,因为你会立即知道 return 语句确实被执行了,而使用 undefined code> 您还有 1 个步骤需要检查。

关于javascript - return 和 return false 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47597864/

相关文章:

javascript - 是否可以从javascript中的条件(三元)运算符获取两个值?

Javascript,嵌套事件处理程序和这个

javascript - 了解 JavaScript 事件和修复动态电子邮件错误的时间

c - 程序错误之间的字符串

c++ - 为什么这个程序显示 "unreachable code"警告?我该如何抑制它?

c - 返回设置为函数参数子字符串的局部指针是否安全?

javascript - 将事件附加到 Google Maps API (v3) Infowindow 内的元素多次触发

javascript - JSON.stringify(localStorage) - 按键过滤

c# - 在 C# 中返回两个列表

c++ - 模板函数 roundTo int, float -> 截断