闭包

  1. function f1() {
  2. var sum = 0;
  3. function f2() {
  4. sum++;
  5. return f2;
  6. }
  7. f2.valueOf = -function () {
  8. return sum;
  9. };
  10. f2.toString = function () {
  11. return sum + "";
  12. };
  13. return f2;
  14. }
  15. console.log(+f1()); //0
  16. console.log(+f1()());//1
  17. console.log(+f1()()());//2