js有关return的用法

本文深入探讨了JavaScript中return语句的多种应用场景,包括如何利用return简化条件判断逻辑、与DOM事件结合控制流程等,帮助读者理解return的重要性和灵活运用。

学了JS语言有几天了,在学习到函数一半的时候突然出现了"return"这个词,没有介绍过其用法以及没有其它语言基础就突然懵逼了。。。搜了一下得到以下答案:


 在JS这个专门用于web的程序设计语言来讲,其使用环境最为广泛的就是在浏览器环境下使用。W3C规定了一些供JS程序和页面代码进行交互的接口,如浏览器级别的BOM(BrowserObjectModel,浏览器对象模型)和DOM(Document Object Model,文档对象模型)。通过这些接口,JS程序就可以畅快淋漓地和页面进行开心的“交谈”和“合作”了。


  1. 在函数中,表示返回:



    1)退出函数空间

1
2
3
4
5
           function  a(){
            var  aa=0;
            return  ;
            var  bb=0;
            }

          解析:函数执行到return就返回了调用函数的空间,返回值为undefined,后面的代码将不会被执行,即var bb=0是不会被执行的。当然,这种情况下不写return也是可以的,因为没有返回任何值。

    2)退出函数空间并返回函数计算结果。

1
2
3
4
5
        function  b(){
        var  aa=0;
        aa=aa+1;
        return  aa; 
        }

                解析:b函数别调用后返回了内部的变量aa经过计算过后的值,即1。此时调用函数b(),就会返回一个值1,可以使用变量赋值的形式获取函数的返回值,如cc=b(),就将b函数的计算结果赋值给了cc这个变脸;

   3) 函数返回的综合使用。

           

1
2
3
4
5
6
7
8
9
//根据得分折算出用“优、良、中、差”表示的成绩
fucntion zhesuan( var  defen){
    if (defen<60){  return  "差" ;}
    if (defen<80){  return  "中" ;}
    if (defen<90){  return  "良" ;}
    if (defen<=100){  return  "优" ;}
    return ;
    var  jieguo= "return 使用实例" ;
   }

             解析:zhesuan函数通过传入的得分参数defen来折算出“优、良、中、差”表示的成绩。正常情况下,我们通过显示折算算法的直接代码化,需要进行多重判定才能达到效果:

   60分以下为差

   60至79分为中

   80至89分为良

   90以上为优

转换为程序代码就要分别写if …else if ....else if 代码:

1
2
3
4
5
6
7
8
9
10
11
     if (defen<60) {
       zhesuanjieguo= "差" ;
     else  if  (defen>60 && defen<80){
       zhesuanjieguo= "中" ;
     }
     else  if  (defen>=80 && defen<90){
        zhesuanjieguo= "良" ;
       }
       else  if  (defen>90 && defen<=100){
        zhesuanjieguo= "优" ;
      }

    这样写代码量大,编写和阅读都容易对分段搞错。

        如果这样写:   

1
2
3
4
     if (defen<60){  zhesuanjieguo=  "差" ;}
    if (defen<80){  zhesuanjieguo=  "中" ;}
    if (defen<90){  zhesuanjieguo=  "良" ;}
    if (defen<=100){ zhesuanjieguo= "优" ;}

   上面的代码无论怎样执行,结果都是"优",就不能达到效果。

     因为return具有停止执行后续代码并返回退出函数的作用,所以通过函数来进行折算就不需要作多重判定了,是不是很省事?


2. 与DOM或者DOM结合使用

   

例如在点击事件中:

onClick='return add_onclick()'与 onClick='add_onclick()'

JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。

而该值决定了当前操作是否继续。

当返回的是true时,将继续操作。

当返回是false时,将中断操作。

而直接执行时(不用return)。将不会对window.event.returnvalue进行设置

所以会默认地继续执行操作

详细说明如下:

例如:

当在 <a href="abc.htm" οnclick="return add_onclick()">Open</a> 中

如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm

否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外

)

而 <a href="abc.htm" οnclick="add_onclick()">Open</a>

不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm


在我第一次看到如下两个代码时觉得貌似两者的结果好像是一样的。。。。

1
2
3
4
5
6
7
8
9
//根据得分折算出用“优、良、中、差”表示的成绩
fucntion zhesuan( var  defen){
    if (defen<60){  return  "差" ;}
    if (defen<80){  return  "中" ;}
    if (defen<90){  return  "良" ;}
    if (defen<=100){  return  "优" ;}
    return ;
    var  jieguo= "return 使用实例" ;
   }

1
2
3
4
     if (defen<60){  zhesuanjieguo=  "差" ;}
    if (defen<80){  zhesuanjieguo=  "中" ;}
    if (defen<90){  zhesuanjieguo=  "良" ;}
    if (defen<=100){ zhesuanjieguo= "优" ;}
但是如上所说,return还具有中断函数的功能,既你假设输入或得到的值为“65”时。在第一个函数中跳过第一段代码,执行第二段之后返回结果后中止,而第二个却会执行到最后。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值