中易网

新手求解 javascript闭包问题

答案:2  悬赏:30  
解决时间 2021-01-29 01:56
新手求解 javascript闭包问题
最佳答案
function f1(){
  var n=999;
    n++;
  function f2(){
    alert(n);
  }
  return f2;
}

var result=f1();
// 执行这句后 result 实际上是 f2
// 原因是 f1() 表示执行 f1 ,会执行到 var n=999; 和 n++; 这两句,n 为 1000
// result=f1() 表示执行 f1 并把返回值保存在 result 中
// 而 f1 中的返回 return f2 ,返回的是 f2
// 所以执行这句后 result 实际上是引用 f2

result(); // 1000
// 这句实际上执行的是 f2 ,不会执行到 var n=999; 和 n++; 这两句
// 在 f2 中的 alert(n) 使用了“父函数”中的局部变量 n ,n 的值是 1000
result(); // 1000
// 这句与上一句相同,还是不会执行到 var n=999; 和 n++; 这两句
全部回答
f1运行一次n才加1,result()是等同于f2(),然后你看你改之后的代码里面的f2函数里面有让n加1的代码么?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2的63次方是多少、
☆要怎么拼出来
2016年昆明最低工资标准
大众cc d档旁边的加减是什么意思?
手机号4466和4499哪个好
在word文档中怎么在一个数字下打上“√”符号
淇钊俩个字在一起好吗?
形容一个人在想东西的成语有哪些
困龙得水上上卦乾为天什么意思女式小西装
74ls160d在protel哪个元件库中
lgg4h818移动4g网络设置
最好的队伍号是什么队伍,求配置
关于终点的词语
门头广告装修的彩钢扣条有几种规格。 在线等
显示器aoc i2769V 和显卡gtx1050,卖显示器的
推荐资讯
交通银行atm(发展路肯德基旁)地址在哪,我要
深圳机场到坪山,坐地铁还是大巴好
男友给我发微信说要来一场说走就走的旅行,我
黄字开头的褒义词有哪些
3+6+9……+96怎样简便运算
关于存货减值的问题
济源市庆利汽车销售服务有限公司(宜春袁州区
急!!!找一首日文歌是女声的,刚开头部分是
外地户口上昆明车牌有哪些手续
神奇蜘蛛侠人类模式有什么特别
方太燃气灶th1b什么价
罗定落bb要多少钱?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?