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;