Bootstrap

js里面if的小坑(和return有关)

我们都只知道,在js里面,当只有一个条件时,并且后面只有一条执行语句时,是可以忽略中括号 { } 的,并且可以加上 return 来代表代码到此结束,但是 return 后面的内容换不换行却有关系。

当 return 后面的那条语句不换行时,代表返回 return 后面那条语句。

当 return 后面的那条语句换行时,代表到此执行结束。

我们来看一下代码

return 后面的语句不换行:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    function test(val) {
      // 这里的 return 后面的语句没有换行
      if (val) return console.log('hello world');
    }
    test(true)
  </script>
</body>

</html>

输出:

return 后面的语句换行:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    function test(val) {
      // 这里的 return 后面的语句换行了
      if (val) return
      console.log('hello world');
    }
    test(true)
  </script>
</body>

</html>

输出:

;