zoukankan      html  css  js  c++  java
  • js中return,return true,return false的用法及区别

    1.语法及返回方式

    ①返回控制与函数结果

            语法为:return 表达式;

            语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去

    ②返回控制无函数结果

            语法为:return;

            在大多数情况下,为事件处理函数如果让其返回false,可以防止默认的事件行为.例如,默认情况下,点击一个<a>标签元素,页面会跳转到该元素href属性指定的页. 而return false就相当于终止符,return true就相当于执行符. 在js中return false的作用一般是用来取消默认动作的.比如你单击一个链接除了触发你的"onclick"事件以外还要触发一个默认事件就是执行页面的跳转.所以这时候如果你想取消对象的默认动作就可以return false来阻止它的动作.也就是说如果你想用js代码来局部改变一些数据而不引起页面其他部位的变化,那么你就应该在onclick事件代码的后面加上return false;

    在js中,我们通常用return false来阻止提交表单或者继续执行下面的代码,通俗来说就是阻止执行默认的行为.

    function s1(){
        if(true){
            return false;
        }
    }
    function s2(){
        m();
        n();
        p();
    }

    上面两个例子,函数s1那样写没有问题的,if函数体里返回出去false,终止函数.而在函数s2里,如果我们在m函数里返回一个return false阻止提交,但是这并不影响函数n和函数p的执行.在s2函数里调用函数m,那里面的return false对于函数s2来说,只是相当于返回值,并不能阻止函数s2的执行.return false只在当前函数有效,并不会影响其他外部函数的执行.

    总结:

    return true;返回正常的处理结果.

    return false;返回错误的处理结果;终止处理;阻止提交表单;阻止执行默认的行为.

    return;把控制权返回给页面.

    2.

    通常函数经过一系列的处理后需要给外部返回一个值,这个值一般用return返回出去,也可以是说return是向函数返回返回值,并终止函数的运行.

    关于return,要注意的是在函数里return后面的内容是不再执行的.

    function a(){
        return 10;
        document.write(
    50);//不执行
    }
    a();//10

    上面的例子中,"return 10;"这个时候函数a的值会等于10,并且函数下面的内容不再执行,因为下面运行函数a时输入10.

    究竟需不需要return来返回值,要看函数是来做什么,如果需要让它返回一个值就写return,如果不需要它返回值,就没必须写它.

    function a(b,c){
        return b+c;
    }
    
    var abc=a(5,8);
    console.log(abc);//13

    function a(b,c){
        document.write(b+c);
    }
    
    var abc=a(5,8);//此时页面上会输出13,但其实abc是没有值的
    console.log(abc);//undefined

    当然,js中的return不一定非得用在函数function中,有时候也可以用来阻止某些动作,比如表单的提交,让表单的提交事件返回false,那表单就不会提交:onsubmit="return false";

    引用:http://www.cnblogs.com/Steven-Love-Arlene/archive/2012/05/23/2515273.html

  • 相关阅读:
    vagrant 修改配置生效
    Linux下如何获取CPU内存等硬件信息
    linux命令系列 sudo apt-get update和upgrade的区别
    docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information
    ERROR: manifest for hyperledger/fabric-orderer:latest not found
    fabric2.0开发 部署fabric环境和fabric-samples的启动(2)
    开源架构Fabric、FISCO BCOS(以下简称“BCOS”)、CITA 技术对比
    Centos 7 安装配置 Mariadb 数据库
    liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /lib64/librpmio.so.3)
    ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
  • 原文地址:https://www.cnblogs.com/sunshinegirl-7/p/4970266.html
Copyright © 2011-2022 走看看