这两种 有什么区别?
javascript吧
全部回复
仅看楼主
level 8
沉漠寡言 楼主

function f1(){
    var n=10;
    function f2(){
      alert(n);
    }
    return f2; // 关键是这里的问题
  }
  var result=f1();
alert("123");
  result();
输出顺序为 123 , 10
如果改成这样
function f1(){
    var n=10;
    function f2(){
      alert(n);
    }
    return f2(); // 加上括号
  }
  var result=f1();
alert("123");
  result();
输出的顺序为 10 , 123
问题是 return f2 ? 和 return f2() ? 这两者的区别是?
2012年05月24日 14点05分 1
level 8
沉漠寡言 楼主
求指导。。
2012年05月24日 14点05分 2
level 13
[背扭]你这么短时间都水稻7级了
没有()的是把函数返回
有()的是把那个函数的执行结果返回
2012年05月24日 14点05分 3
level 8
沉漠寡言 楼主
Thank you 。
2012年05月24日 14点05分 4
1