return的常见用法

  • Post author:
  • Post category:其他




1)return数字/字符串/布尔,返回的还是数字/字符串/布尔



2)return函数


此时fn2()等价于 “function(){ alert(1)//嘿嘿,我是注释}” 这段代码



fn2()()


才算执行了这段代码


eg1:fn1()(10),结果为10

function fn1(){
    return function(a){
     alert(a)
    }
}

fn1()(10)

/*等价于*/
function fn1(){
 return function(){
  var a;
  a=10;
  alert(a);
 }
}

/*简化为*/
function fn1(){
  var a;
  a=10;
  alert(a);
}


eg2:fn2(10)(20),结果为30

function fn2(a){
    return function(b){
     alert(a+b)
    }
}
fn2(20)(10)

/*等价于执行*/
function fn2(){
  var a;
  a=20;
  return function(){
    var b;
    b=10;
    alert(a+b)//匿名函数中没有定义a,所以顺着作用域链从父级找到a=20,最终输出30.
  }
}

/*简化为*/
function fn2(){
  var a;
  a=20;
  var b;
  b=10;
  alert(a+b)
}


3)return 对象


4)return 未定义:所有函数默认的返回值是未定义


5)return(分号)后的代码不执行。



版权声明:本文为wangjiaohome原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。