1.單例模式設計模式
2.工廠模式bash
3.構造函數模式函數
4.原型模式ui
其實就是一個對象,咱們把這對象稱爲命名空間。
普通單例,是沒有私有的內容,別的人員能夠任意更改你的內部屬性。
高級單例模式,使用的這個單例的人是改變不了內部變量的。用的人每次都會從新執行該高級單例,每次獲取的都是初始值。
複製代碼
就是一個普通函數,適用於那些批量生產單例的狀況。
複製代碼
new執行函數的時候,會開闢新的做用域,形參賦值,變量提高。
而後把函數中的this指向了一個新開闢的堆內存。
在這以後,再去操做this的時候,其實就是在操做這個堆內存。
最後把this返出去。
複製代碼
構造函數模式不須要本身創造一個對象。
構造函數模式不須要本身主動return內容。
複製代碼
每個實例都有一個__proto__的屬性,指向所屬類的原型。
每個函數都有一個prototype屬性,指向本身的原型。
每個類的原型上都有一個 constructor屬性,指向全部類(函數)自己。
複製代碼
變量的查找機制,變量的查找機制,先看變量是否是本身私有的,不是的話就去上級做用域去查找,一直找到window位置。
複製代碼
屬性的查找機制,先在本身身上查找,沒有的話就經過__proto__向本身所屬類的原型上查找。一直找到基類的原型,有的話就返回對應的值,沒有的話就是undefined。
複製代碼