return

2019-07-26  本文已影响0人  你喜欢吃青椒吗_c744

定义

return,从字面意思来看就是返回,官方定义return语句将终止当前函数并返回当前函数的值。一个函数被执行过后,整个函数体被赋值为函数的返回值。

写法

官方定义return后面可以跟一个value,也就是说可以跟javascript中的任何数据类型,数字,字符串,对象等,当然也可再返回一个函数。

练习1

既然return可以返回任何东西,其实也就可以返回它本身。

var i=1;      //定义循环变量
function func1(){
    i++;       //改变循环变量
    if(i<5){        //小括号为循环条件
        console.log(i)
        return func1();
    }
}
func1();
返回函数本身

可以看到,return其实在函数中的作用就是终止函数运行并且返回值

练习2

function(a,b)=> {

alert(a*b);

}
function(a,b) => {

return a*b;

}

return ,return true,return false

<!DOCTYPE html>
<html>
<head>
    <title>return测试</title>
</head>
<body>
<a href="#"></a>
<a onclick="fun1()">111</a>
<a onclick="fun2()">222</a>
<a onclick="fun3()">333</a>
<a onclick="fun4()">444</a>

<script type="text/javascript">
    function fun1() { return ;
        console.log('111 这个不会执行')
    } 
    function fun2() { return false;
        console.log('222 这个不会执行')
    } 
    function fun3() { return true ;
        console.log('333 这个不会执行')
    } 
    function fun4() {
        console.log('444 这个会执行')
    } 
</script>
</body>
</html>

通过上面的例子 可以看出 return ; return false return true 在函数内部都中断了函数的执行
因为函数执行是自上而下的。函数会先 执行 return,return true ,return false。如果此时把returnconsole.log('111 这个不会执行')上下位置对调,发现console.log被执行了。
所以我们可以得到:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <a href="https://www.baidu.com" id="www">百度</a>
    <script>
    var a = document.getElementById('www')
    a.onclick = function () {
        return true/false
    }
    </script>
</body>
</html>

return、continue、break 、break的区别

return

-   return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。
-   return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。
-   return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。

continue

for(var i=1;i<=10;i++) { 
    if(i==8) { 
        continue; 
    } 
    document.write(i); 
} 

//当i=8的时候,直接跳出本次for循环。下次继续执行。

//输出结果:1234567910

break

 for(var i=1;i<=10;i++) { 
      if(i==8) { 
          break; 
      } 
      document.write(i); 
  } 
  
  //当i=8的时候,直接退出for这个循环。这个循环将不再被执行!
  //输出结果:1234567

其他

上一篇 下一篇

猜你喜欢

热点阅读