详解JavaScript中返回的用法

  

最近,跟身边学前端的朋友了解,有很多人对函数中的返回的用法和意思理解的比较模糊,这里写一篇文章跟大家一起探讨一下返回的用法。

  

<强> 1定义
  

  

返回,从字面意思来看就是返回,官方定义返回语句将终止当前函数并返回当前函数的值,可以看下下面的示例代码:

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> Title   & lt; script>   函数func1 () {   而(真){   返回1;   }   };   警报(func1 ());   & lt;/script>   & lt;/head>   & lt; body>   & lt;/body>   & lt;/html>      

可以看到我在函数里面写了一个死循环,然后在下面调用,在没有写返回语句时浏览器会一直执行循环内的语句,直接卡死;

  

而写了返回语句后,直接中断了函数,并且给函数返回了一个数值1,意思就是当函数执行后,函数体将被赋值为函数的返回值,这里会被返回1;

  

详解JavaScript中返回的用法

  

详解JavaScript中返回的用法

  

<强> 2写法

  

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

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> Title   & lt; script>   函数func1 () {   返回函数(){   提醒(1);   }   };   警报(func1 ());//! func1 () ();这个注释是通过自执行函数调用返回的函数   & lt;/script>14 & lt;/head>15 & lt; body>16 17 & lt;/body>18 & lt;/html>      

示例图片:

  

详解JavaScript中返回的用法”> <br/>
  </p>
  <p>当然是函数就可以调用,我们可以写成! func1()();这里很好理解,func1();我们打印出来看了就是返回后面跟的匿名函数,那么我们就可以通过自执行函数的形式来调用,这里通过!函数体();的形式来调用。可以将注释里的代码拿出来试验一下:</p>
  <p> <img src=

  

<强> 3练习强,,,
  

  

(1)练习1
  

  

那么既然可以返回一个函数,我们就将下面的代码改写为一个回调函数的形式:

  

原代码:

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> Title   & lt; script>   如果提示(“输入数字1 ')==1){   !函数(){   alert('输对了');   }()   其他}{   !函数(){   alert('输错了');   }()   }   & lt;/script>   & lt;/head>   & lt; body>   & lt;/body>   & lt;/html>      

改写后:

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> Title   & lt; script>   函数func1 () {   如果提示(“输入数字1 ')==1){   返回函数(){   alert('输对了');   }   其他}{   返回函数(){   alert('输错了');   }   }   }   ! func1 () ();   & lt;/script>   & lt;/head>   & lt; body>   & lt;/body>   & lt;/html>      

改写前是通过如果语句来判断执行哪个函数;改写后是通过如果语句判断返回哪个函数,然后在下面调用;并没有什么意义只是帮助我们理解一下返回;

  

(2)练习2
  

  

通过返回语句来实现一个循环。

  

思路:既然返回语句可以返回一个函数,那么就是说可以返回它自己本身,在后面调用时就能实现一个循环的功能,

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> Title   & lt; script>   var i=1;//定义循环变量   函数func1 () {   我+ +;//改变循环变量   如果(i

详解JavaScript中返回的用法