單例模式,工廠模式,構造函數模式,原型模式難嗎?

JS中的常見的設計模式

1.單例模式設計模式

2.工廠模式bash

3.構造函數模式函數

4.原型模式ui

單例模式:

其實就是一個對象,咱們把這對象稱爲命名空間。
普通單例,是沒有私有的內容,別的人員能夠任意更改你的內部屬性。
高級單例模式,使用的這個單例的人是改變不了內部變量的。用的人每次都會從新執行該高級單例,每次獲取的都是初始值。
複製代碼

工廠模式:

就是一個普通函數,適用於那些批量生產單例的狀況。
複製代碼

構造函數模式:

new執行函數的時候,會開闢新的做用域,形參賦值,變量提高。
而後把函數中的this指向了一個新開闢的堆內存。
在這以後,再去操做this的時候,其實就是在操做這個堆內存。
最後把this返出去。
複製代碼

工廠模式和構造函數模式的區別?

構造函數模式不須要本身創造一個對象。
構造函數模式不須要本身主動return內容。
複製代碼

原型模式:

每個實例都有一個__proto__的屬性,指向所屬類的原型。
每個函數都有一個prototype屬性,指向本身的原型。
每個類的原型上都有一個 constructor屬性,指向全部類(函數)自己。
複製代碼

做用域鏈:

變量的查找機制,變量的查找機制,先看變量是否是本身私有的,不是的話就去上級做用域去查找,一直找到window位置。
複製代碼

原型鏈:

屬性的查找機制,先在本身身上查找,沒有的話就經過__proto__向本身所屬類的原型上查找。一直找到基類的原型,有的話就返回對應的值,沒有的話就是undefined。
複製代碼
相關文章
相關標籤/搜索