this的規律:數組
1.事件綁定的函數中的rhis 是指向的操做元素的bash
2.自執行函數中的sthis是指向 widndow的函數
3.其餘的函數執行其中的this 看點ui
4.數組是一個特殊的對象,必須特殊對待this
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;
複製代碼