Nachdem ich Ruan Yifengs ES6-Tutorial gesehen habe, verstehe ich die Tail-Call-Optimierung nicht ganz.
Ich würde gerne fragen, wie man Speicher?nderungen in Chrome überwacht.
Ich habe den Speicher in ?Take Heap Snapshot in Memory“ überprüft,
Aber ich wei? nicht, auf welchen Teil der Daten ich mich konzentrieren soll.
Der Code ist wie im Bild gezeigt:
樓主能夠使用 Take Heap Snapshot 查看內(nèi)存使用,相比 JS 學(xué)的確實很不錯了。不過很遺憾,這個根本看不出來,因為 V8 引擎好像還沒有使用尾調(diào)用優(yōu)化方案。
尾調(diào)用優(yōu)化(Syntactic Tail Calls (STC))目前還是 Stage 0 Draft 階段。
從技術(shù)角度講,V8 完全可以實現(xiàn)尾調(diào)用優(yōu)化,但是由于各種原因,主要是異常堆棧的跟蹤,V8 并沒有使用 STC。
這個再我的 SF 講座:前端程序員應(yīng)該懂點 V8 知識 中專門講了這個知識點。
雖然這個規(guī)范還只是一個草案,但是我們有理由相信在不久的將來這個一定會進(jìn)入 ES 標(biāo)準(zhǔn)。
Discussion and specification for an explicit syntactic opt-in for Tail Calls
Syntactic Tail Calls