方法
樹的簡介 棧、隊(duì)列、鏈表等數(shù)據(jù)結(jié)構(gòu),都是順序數(shù)據(jù)結(jié)構(gòu)。而樹是非順序數(shù)據(jù)結(jié)構(gòu)。樹型結(jié)構(gòu)是一類非常重要的非線性結(jié)構(gòu)。直觀地,樹型結(jié)構(gòu)是以分支關(guān)系定義的層次結(jié)構(gòu)。 樹在計(jì)算機(jī)領(lǐng)域中...
前言 因?yàn)閚ode絕大多數(shù)時間都是運(yùn)行在后端的服務(wù)器程序,因此,需要精確控制內(nèi)存。在以前,js程序員不需要控制內(nèi)存的原因是因?yàn)樗麄儾僮鞯亩际嵌虝r間執(zhí)行的場景,如網(wǎng)頁或者命令行...
為什么寫的這么復(fù)雜呢,我這種寫法只封裝了resolve,但是感覺比你的簡單啊
```
class Pro {
constructor (fun) {
this.PromiseValue = ''
this.PromiseStatus = 'pending'
this.PromiseList = []
if (fun) {
fun(this.resolve.bind(this), this.reject.bind(this))
}
}
then (fun) {
this.PromiseList.push(fun)
return this
}
resolve (v) {
this.PromiseStatus = 'resolved'
this.PromiseValue = v
this.go()
}
reject (v) {
this.PromiseStatus = 'rejected'
this.PromiseValue = v
this.go()
}
// 遞歸函數(shù)
go () {
if (this.PromiseStatus !== 'pending' && this.PromiseList.length) {
const a = this.PromiseList.shift()(this.PromiseValue)
if (a instanceof Pro) {
a.PromiseList = this.PromiseList
a.go()
} else {
this.PromiseValue = a
this.go()
}
}
}
}
```
Promise實(shí)現(xiàn)原理(附源碼)本篇文章主要在于探究 Promise 的實(shí)現(xiàn)原理,帶領(lǐng)大家一步一步實(shí)現(xiàn)一個 Promise , 不對其用法做說明,如果讀者還對Promise的用法不了解,可以查看阮一峰老師的...
功能介紹 vue方向鍵插件,適合鍵盤的快捷鍵操作,通過鍵盤在input間切換,應(yīng)用在后臺系統(tǒng)開單,財(cái)務(wù)等等的快速輸入和保存上,使用簡單,配置方便 使用方法 安裝npm ins...
QQ首頁的彈窗和天氣效果都挺好,最近琢磨了一下用electron來仿造出這樣的效果,主要是彈窗控件這塊,也考慮了一下窗口的復(fù)用,下面展示一下做好后的效果,注:樣式只是隨便調(diào)了...