“回归”如何知道给我真假?

时间:2018-05-24 16:22:29

标签: javascript

如果没有第一个例子中的'if'语句,'return'如何给我真或假?

Example'1' :

function isEven(){
    if(num % 2 === 0){
        return true;
    } else {
        return false;
    }
} 

它有效,但是我的老师就这样缩短了它(前'2'):

function isEven(){
    return num % 2 === 0
} 

5 个答案:

答案 0 :(得分:1)

不是真正的答案,只是想提供帮助,所以请不要赞成!

我认为理解编程基础的最简单方法是回到日常生活中的例子,所以这里有一个:

你正在和朋友说话,让我叫他鲍勃。鲍勃拥有一家冰淇淋店。这是夏天。你想要冰淇淋,所以你问他是否能得到冰淇淋。鲍勃告诉你:

  

如果剩下冰,我可以给你一些,否则我不能。

function canIGetIceCream() {
  if(isIceCreamLeft) {
    return true;
  } else {
    return false;
 }
}

但是,Bob也可以在不改变含义的情况下缩短答案:

  

取决于剩下的冰块

function canIGetIceCream() {
  return isIceCreamLeft;
}

Booelans只是数值,就像数字或字符串一样。在第一个示例中,如果isIceCreamLefttrue,则会输入第一个if分支,然后是return true,否则如果是false,它将return false。相反,您可以像第二个示例中那样返回布尔值所持有的值。

答案 1 :(得分:1)

您可以从该功能返回任何内容。请参考下面的示例来理解它。



<link rel="stylesheet" type="text/css" href="style.css">

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="hover.css" media="all">

<div class="bgimg">
<nav class="navbar navbar-expand-md navbar-dark nav fixed-top" style="background-color: #D7DBDD">
    <div class="container" style="height: 50px">
        <a href="" class="navbar-brand font-italic font-weight-bold" style="font-size: 40px; font-family: Helvetica Neue;">TheCureKit</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsenavbar">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse text-center" id="collapsenavbar">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item">
                    <a href="" class="nav-link text-white hvr-underline-from-center">Book Appointment</a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link text-white hvr-underline-from-center">Book Tests</a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link text-white hvr-underline-from-center">Order Medicines</a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link text-white hvr-underline-from-center">Login|signup</a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link text-white hvr-underline-from-center">Contact</a>
                </li>
            </ul>
        </div>
    </div>
</nav>

<div class="container text-center headerset">
    <h2 style="color: black;">Welcome to our studio</h2>
    <h1 style="color: black;">IT'S NICE TO MEET YOU</h1>
    <button class="btn btn-warning text-white btn-lg" style="margin-bottom: 10px;">BOOK NOW</button>
</div>
</div>
&#13;
function myFunction(val) {
  console.log(test(val))
}

function test(val){
if(val==1) return 'testing';
if(val == 2) return true;
if(val == 3) return 1>2;
if(val == 4) return 2%3 == 0;

}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您需要了解的是操作员的工作方式。

运营商对操作数进行操作。运算符和一个或多个操作数形成表达式。表达式被评估。

return语句接受一个表达式并返回表达式求值的值。例如,1 + 2的计算结果为3。

比较和逻辑运算符(例如==<&&)通常会计算为truefalse。这些工作类似:true && false评估为false1 == 1评估为真。

因此,return num % 2 == 0完全有效,因为在执行代码时,将评估num % 2,然后整个表达式将被评估为truefalse。你可以想到整个陈述成为

return true;

return false;

表达式评估后。

答案 3 :(得分:0)

你不是真的通过使用if语句来问它。 if语句只会检查括号( )之间的内容是true还是false。与添加1 + 2的结果3类似,3 === 2之类的内容会产生false。您可以将其视为具有答案的正常数学问题。当您的计算机评估时:

num % 2 === 0

计算num % 2并检查其是否等于0.这可以是truefalse。这些都是布尔值,与第一个示例中的相同。所以你的第一个例子实际上是检查表达式是true还是false,然后返回那个确切的值,如下所示:

var num = 2;

if(num % 2 === 0){
    return true;
}

评估后,这基本上会导致:

if(true){
    return true;
}

了解如何更轻松地省略if语句并返回num % 2 === 0的结果?

答案 4 :(得分:-1)

您的评估是

num % 2 === 0

代码将检查num除以2(num%2)的余数是否等于0.这可以是true或false,因此它将返回true为false。