對於閉包的理解,主要有兩個作用
1.外部方法應用內部方法的變數,2.快取資料
functiona()
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...