閉包的理解(可能有誤,大神看到如果有問題請糾正)

2022-08-27 01:42:07 字數 674 閱讀 4621

對於閉包的理解,主要有兩個作用

1.外部方法應用內部方法的變數,2.快取資料

function

a()

returnb;}

var c =a();

c();//1

c();//

2

其中的c是乙個window全域性方法,它能呼叫方法a裡面的b方法,注意a是返回了乙個內部函式b,如果不這樣,那c就不能呼叫b了;

a中有乙個變數i,為什麼第一次呼叫c它是1,第二次時2,因為c是乙個全域性物件,一直儲存在記憶體中

看以下**

var name = "the window";   

var object =;

}

};

alert(object.getnamefunc()());

//the window

為什麼彈出的是the window

注意object,它是全域性物件,那麼this就代表的是window,所以this.name就代表全域性變數name了,如果要呼叫object的name,this.object.name這樣呼叫即可

個人對閉包的看法(對於大神肯定不算啥):

1.會快取物件,有可能導致效能下降和記憶體洩露,建議少用;

2.會導致當前上下文錯亂。

單鏈表自我實踐(可能有誤)

單鏈表自我實踐 可能有不恰當之處 include struct node 該測試例題的索引號從 1開始 下列函式均未對 head是否為 null進行判斷處理,當傳入的 head為 null會報錯 void addlast node head,const int n 注意 head是指標的指標 tem...

C 型別轉換 自學筆記 可能有誤

c風格的型別轉換 type b type a c 型別轉換提供了4中型別轉換操作符來對應不同場合的應用 1 static cast 靜態型別轉換 2 reinterpreter cast 重新解釋型別 3 dynamic cast 命名上理解是動態型別轉換。如子類和父類之間的多型型別轉換 4 con...

可能有用的函式

doublehypot double x,double y 求三角形斜邊 hypotenuse doublefrexp double x,int exp 將x分解成尾數和指數,指數存入exp,返回尾數 1.n的圈,迴圈數d步。p p d n 1 n 1 從1到n p p d n n 從0到n 1 b...