簡單地說,就是兩個函式巢狀,內部函式可以讀取外部函式的變數,並返回出來。變數作用域有區域性變數和全域性變數,函式內部可以直接訪問全域性變數,但是函式外部無法訪問函式內部的區域性變數。所以想在函式外部訪問內部的變數時,就可以在函式內部再定義乙個函式,使用子函式,把父函式的變數返回出去。函式被呼叫的時候,會建立乙個執行環境和作用域鏈還有關聯的活動物件。正常來說,某個函式執行結束以後,執行環境就被銷毀了,裡面的變數也會被銷毀,但是如果有閉包的話,只有執行環境被銷毀,活動物件不會被銷毀,因為還被內部的作用域鏈引用。
訪問乙個物件的某個屬性的時候,先查詢這個物件本身的屬性,如果沒有找到,就去它的_proto_上查詢,就是建構函式的prototype,一層一層向上查詢就形成了乙個鏈式結構。比如new乙個number 1 1的_proto指向number.prototype → object.prototype → null
雪碧圖 base64轉碼
cdn 節流防抖 合理使用快取(協商快取強制快取 service worker) 懶載入
減少cookie大小,使用localstorage
使用外部js css檔案 檔案壓縮
C 常考面試題
1.string類的實現 string string const char str else string string const string str string string operator const string str delete m data m data new char st...
Redis常考面試題
select命令切換資料庫 select 1 dbsize檢視當前資料庫的key的數量 dbsize flushdb清空當前庫,flushall清空全部庫 1.對鍵的操作 檢視所有的key keys 判斷某個key是否存在 exists key的名字 檢視key的型別 type key 從某個庫中刪...
面試常考 HTML5常考面試題
1.doctype的作用是什麼?doctype宣告用於告訴瀏覽器使用哪種模式來進行html文件解析。doctype宣告有兩種 標準模式和怪異模式 混雜模式 doctype不存在或形式不正確會導致html文件以混雜模式呈現。標準模式與混雜模式的區別請參考第3道面試題。2.img標籤的alt屬性和tit...