首页 > 代码库 > 总结平时遇到的小问题

总结平时遇到的小问题

1.这时候几种将函数赋值给一个变量,然后执行这个变量 是怎样的结果:

function hi(){  
  var a = 1;  
  return function(){
   console.log(a++);
  };  
};         
var aaa = hi();
var bbb = hi;
aaa();
aaa();
bbb();

 答疑:

aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 aaaa() 第一次运行结果为 1,第二次为2
bbb 将是将 hi 这个函数名赋值给它,则调用 bbb() 后返回一个函数表达式,即function(){console.log(a++)};

总结平时遇到的小问题