為什麼DOM操作不能實現得和內建物件一樣快?

時間 2021-05-11 01:55:28

1樓:水華

其實吧操作dom速度是很快的

但是你看看事件迴圈機制就知道了 js操作完時間分片交給渲染之後dom才能正確的修改和反應時間差就在每個事件迴圈中

2樓:伊撒爾

這個問題問的,我竟然一時間不知道怎麼去表達……

操作 dom 本身,也就是執行乙個 dom 方法的速度和操作物件是一樣快的

但是操作完了,瀏覽器要做很多排程工作,比如它需要排程 event loop,需要排程 raf,需要計算 style 和 layout,甚至比如 innerHTML 這種操作還需要解析 dom 樹

所以理論上,它很慢……那有沒有辦法實現的很快

答案是——

如果實現類似的機制,那就是沒有變得更快的方法

如果不是類似的機制,比如你直接通過 webgl 畫畫,不需要交給瀏覽器重排排程,那就有可能會更快

另外,所謂的快慢,不單單是指的時間上的,更多的其實是排程上的優先順序的安排,比如動畫具備最高的優先順序,無論如何它都得及時響應,比如網路請求的優先順序就可以非常低,因為乙個介面你等10s和等11s,你也不知道是介面慢還是畫面慢

以上我們現在做渲染引擎,都是和瀏覽器一樣去抽象遍歷一些資料結構,所以時間上不可能更快

但是排程層面我們可以做更多事情,該快的快,該慢的慢

為什麼超光速不能實現?

第一 棍子的彈性,本就是靠電磁力支撐,機械力傳播怎能超光速呢?而且那棍子肯定很重,你揮不動,不然棍子也會折,槓桿原理無法超光速的。第二 Bigan W 答得很好了,我也不知道怎樣答更好了。第三 對於發射光的人,那肯定沒有超光速。至於光嘛,光速運動的點,不能作為參考點,畢竟它的時間是靜止的,空間也無限...

治理霧霾為什麼不能實現汙染源的汙染物零排放?

LJJ 零排放不是不可能,是沒必要,做什麼事情都要符合經濟性才行啊,不能把別人企業逼死吧。如果為了零排放,汽車原來10萬塊錢一部的,現在賣20萬,這樣對人民是好還是不好呢。再多說一句,物質是不滅的,看起來好像消滅了汙染物,其實是把它轉移到了別的地方。 馮新意 零排放是不可能的。首先大氣汙染控制比較複...

為什麼大多數人的夢想不能實現,可是我很想實現我的夢想,到底該怎麼做?

天空 你的夢想是什麼?你得確定下來,然後呢,不斷的去尋找可以實現的辦法,然後去做,然後去調整,直到實現為止,很多人的夢想之所以不能實現,就是因為他們在尋找的過程中就放棄了,或者在調整階段就放棄了,希望你能堅持你的夢想,直到實現為止。 運籌帷幄 不是大多數而是所有人的夢想都不能實現,實現的是目標而不是...