本篇文章為大家帶來了關於微信小程式的相關知識,其中主要簡述微信小程式原理,小程式的邏輯層和渲染層是分開的,邏輯層運行在JSCore中,並沒有一個完整瀏覽器對象,下面一起來看一下,希望對大家有幫助。
【相關學習推薦:小程式學習教學】
首先,小程序的邏輯層和渲染層是分開的,邏輯層運行在JSCore 中,並沒有一個完整瀏覽器物件。
所以沒有相關的DOM API和BOM API,這個差異導致了一些前端開發非常熟悉的函式庫,例如 jQuery、 Zepto 等,在小程式中是無法運作的。
同時 JSCore 的環境相同 NodeJS 環境相同,所以某些 NPM 的套件在小程式中也是無法運作的。
總之,js是單線程的,小程式是雙線程,邏輯層和視圖層(渲染層)是分開的,同時運行的。
又因為小程式是雙執行緒的,任何邏輯層和視圖層的資料傳遞都是執行緒之間的通訊,所以有一定的延時,所以頁面的更新就成了非同步操作。
非同步會使得各部分的運行時序變得複雜一些,例如在渲染首屏的時候,邏輯層與渲染層會同時開始初始化工作,但是渲染層需要有邏輯層的數據才能把介面渲染出來。
如果渲染層初始化工作較快完成,就要等邏輯層的指令才能進行下一步工作。
所以小程式的生命週期就起了作用,如下
小程式啟動運行兩種情況:
1.冷啟動(重新開始):使用者首次開啟或小程式被微信主動銷毀後再次開啟的情況,此時小程式需要重新載入啟動,即為冷啟動。
2.熱啟動:用戶已經打開過小程序,然後在一定時間內再次打開該小程序,此時無需重新啟動,只需要將後台態的小程序切換到前台,這個過程就是熱啟動。
【相關學習推薦:小程式學習教學】
以上是簡單分析一下微信小程式的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!