js-return的常见用法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangjiaohome/article/details/80569960

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(分号)后的代码不执行。

 

展开阅读全文

没有更多推荐了,返回首页