開闢乙個儲存空間把函式體內的**一模一樣的放在這個空間內(不解析變數)
把儲存空間的位址給函式名
按照函式名的位址找到函式的儲存空間形參賦值
預解析將函式儲存空間中的**拿出來執行(才解析變數)
按照函式名的位址找到函式的儲存空間
形參賦值
預解析在記憶體中開闢乙個執行空間
將函式儲存空間中的**拿出來在剛剛開闢的執行空間中執行
執行完畢後,記憶體中開闢的執行空間銷毀
functionfn(
)fn()
等到什麼時候,執行一句**o = null
可以利用閉包訪問再乙個函式外部訪問函式內部的變數
保護私有變數
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-q77rk0fp-1605536488028)(d578e577a6a74efaafab1035891c7930)]
原型繼承
借用建構函式繼承
組合繼承
閉包和繼承
function fn var fun fn fun fun 1.延長的變數的宣告週期 2.保護了私有的變數 3.函式的作用域一直沒有被銷毀 缺點 容易造成記憶體的溢位 function father function son var f new father son.prototype f var...
JS 繼承和閉包
一 原型鏈進行繼承 1.js的繼承主要依靠原型鏈來實現,使函式的原型指向另一函式的例項,依次來完成繼承,其實質就是重寫原型物件。繼承後屬性和方法的依照原型鏈進行搜尋,1 先在例項中搜尋,2 搜尋subtype.prototype,3 搜尋supertype.prototype,直到找到該方法或者該屬...
繼承 閉包 cookie和session
一 物件 prototype屬性 繼承 1 建立了乙個新的物件之後,就會建立乙個prototype屬性 2 這個屬性指向函式的原型物件 3 物件會自動獲得乙個constructor屬性 4 constructor 5 原型模式 每個函式都有乙個prototype屬性 6 原型鏈 利用原型讓乙個引用型...