js怎么獲取div距上邊界的距離?
OffsetTop只能顯示從元素到父元素頂部的距離。
所以調(diào)用getBoundingClient方法后返回對象中的top屬性。
即(要讀取的元素)。getboundingcli
javascript的執(zhí)行順序是怎樣的?
這個(gè)問題其實(shí)很復(fù)雜,需要一段時(shí)間才能搞清楚。讓我簡單說一下:
1.首先,js本身就是單線程語言,也就是說它一次只做一件事,代碼會(huì)從上到下順序執(zhí)行。
2.js在執(zhí)行前有一個(gè)預(yù)處理過程,會(huì)把var聲明的變量和函數(shù)聲明提升到執(zhí)行上下文的頂端,這樣你就可以在它們被定義之前得到它們的聲明,這點(diǎn)需要注意。
3.js在執(zhí)行過程中會(huì)遇到同步和異步任務(wù)。
4.同步任務(wù)將一直等到有了執(zhí)行結(jié)果才繼續(xù)執(zhí)行。
5.異步任務(wù),如IO請求、事件、定時(shí)器等。,js的主線程會(huì)繼續(xù)往下走,而不會(huì)等待它們的運(yùn)行結(jié)果(有些異步任務(wù)依賴于瀏覽器的多線程能力,比如請求等。)
6.這些異步任務(wù)將被放入任務(wù)隊(duì)列,主線程的回調(diào)函數(shù)將被掛起。當(dāng)主線程執(zhí)行完畢后,會(huì)循環(huán)任務(wù)隊(duì)列中是否有已完成的異步任務(wù),如果有,會(huì)推送到主線程,執(zhí)行相應(yīng)的回調(diào)函數(shù),直到任務(wù)隊(duì)列清空。
7.任務(wù)隊(duì)列分為宏觀任務(wù)和微觀任務(wù)。宏任務(wù)包括腳本代碼、定時(shí)器等。微觀任務(wù)包括
、承諾等
8.js引擎首先從宏任務(wù)中取出第一個(gè)任務(wù),執(zhí)行完畢后,取出微任務(wù)中的所有任務(wù),依次全部執(zhí)行;如此循環(huán),直到兩個(gè)隊(duì)列中的任務(wù)都被占用。
我說的比較簡單,我可以去網(wǎng)上搜索更詳細(xì)的答案!