this 的分解

144 阅读1分钟

this的规律:

1.事件绑定的函数中的rhis 是指向的操作元素的

2.自执行函数中的sthis是指向 widndow的

3.其他的函数执行其中的this 看点

4.数组是一个特殊的对象,必须特殊对待

   let i =1;
  let fn = function(n) {
      i *=2;
      return function (m) {
          i += (n + m);
          console.log(i);
      }
  };
  let f = fn(2);
  f (3);
  fn (2)(3);
  f (4);
  f (5);
  
  
  一个window包含:i、fn、f;
       i =1,  fn指向一个大的函数体 如下:
       let fn = function(n) {
      i *=2;
      return function (m) {
          i += (n + m);
          console.log(i);
      }
  };
  f指向一个小的函数体 如下:
  return function (m) {
          i += (n + m);
          console.log(i);
      }
      执行这个小函数体前提是必须有一个小的栈内存 如下:
                        f =
                 fn(2)
                 n=2
                 
                 i*=2
                 retur
    执行了这个函数以后 又给i 赋了一个新值i=2;