快捷导航

js菜鸟的提问

请问这个函数的流程是?怎么求出的结果function Foo(){var i = 0;  return function(){console.log(i++);}} var f1 = Foo(),f2 = Foo();f1();f1();f2();

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

return function(){ console.log(i++);  } 表示返回的是一个函数,f1()就是调用这个函数,一开始i=0,打印出来是0,第二次执行f1()后是针对同一个对象i操作的,i加了1,所以打印1,第三个执行f2(),此时不再是对之前的对象i操作,而是新的对象,所以i还是0
回复

使用道具 举报

自己试试不就知道了 0 1 0
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP