首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Javascript中只有一个数字的If语句

在Javascript中只有一个数字的If语句
EN

Stack Overflow用户
提问于 2014-12-09 14:04:15
回答 4查看 6K关注 0票数 1

我找到了这个函数,把数字放在分数里,我试着找出一切都意味着什么。有一件事我搞不懂。

下面是代码:

代码语言:javascript
运行
复制
function reduce(numerator,denominator) {
  var gcd = function gcd (a,b) {
    if (b) {
      return gcd(b, a%b);
    } else {
      return a;
    }
  };
  gcd = gcd(numerator,denominator);
  return [numerator/gcd, denominator/gcd];
}

if (b)是什么意思。我知道,如果if语句中只有变量,它将检查变量为true还是false。这将如何适用于一个数字?什么时候才会有其他声明呢?

EN

Stack Overflow用户

发布于 2014-12-09 14:05:48

在计算之前,if语句中的任何表达式都将隐式转换为boolean

在您发布的代码中,它通常用于检查参数是否被传递,在这种情况下,undefined是一个假值,并将被转换为false。AJPerez给出了一个关于错误值的答案(除了他忘记了NaN)。

代码语言:javascript
运行
复制
function reduce(numerator,denominator){
    var gcd = function gcd(a,b){
    if (b) {
        // if two arguments are passed, do something
        return gcd(b, a%b);
    }  
    else {
        // only one argument passed, return it directly
        return a;
    }
  };
    gcd = gcd(numerator,denominator);
    return [numerator/gcd, denominator/gcd];
}

然而,如果您正在检查的论点确实是错误的,那么这种方法可能是错误的。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27380818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档