什么是生命周期
指一个对象从创建到销毁的一系列过程,从实例创建到销毁期间伴随着各种各样的事件触发。比如Vue实例在被创建时要经过一系列的初始化过程中需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。在这期间Vue提供了许多生命周期函数供用户在整个Vue实例的过程时更好的控制逻辑,得到用户想要的效果。
小程序同样有着自己的生命周期函数,小程序分为应用、页面和组件三个部分,每个部分都有着相应的生命周期。很多朋友容易将小程序中的生命周期混淆,今天我们来一起认识下小程序的生命周期函数吧。
应用生命周期函数
应用生命周期函数指小程序从用户启动小程序到销毁小程序期间用来监听小程序的函数,小程序通过在app.js文件中的App(Object) 函数来指定小程序的生命周期回调函数。小程序启动会依次执行onLaunch,onShow方法,当小程序进入后台隐藏时执行onHide方法。
这里需要注意的是当用户点击右上角关闭或者按设备返回键键离开小程序,此时小程序并没有直接销毁而是进入了后台(只有小程序后台运行一定时间或系统资源占用过高才会被自动销毁),当再次进入小程序时又会从后台进入启动。
页面生命周期函数
在小程序中一个页面的加载到销毁同样是有生命周期的,页面通过在对应js文件中的Page(Object)函数来指定当前页面的生命周期回调函数。小程序加载页面会依次执行onLoad,onReady和onShow方法,而前后台切换则分别执行onHide和onShow方法,最后当页面销毁时会执行onUnload方法。
组件生命周期函数
组件的生命周期指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。组件可以在Component()构造器中定义生命周期回调函数,组件被调用时会依次执行created、attached 和ready方法,当组件被移动时执行moved方法,最后当组件销毁时会执行detached 方法。
组件所在页面的生命周期
组件中还有一个特殊的生命周期,它们并非与组件有很强的关联但有时组件需要获知以便组件内部处理。这样的生命周期称为“组件所在页面的生命周期”,可以在Component()构造器中的pageLifetimes对象中定义。
宏任务先执行还是微任务先执行
在JavaScript中,宏任务(macro-task)和微任务(micro-task)的执行顺序遵循一定的规则。一般来说,当浏览器空闲时,会从事件队列中取出一个宏任务执行,而在宏任务执行期间,微任务会被堆放到微任务队列中。等到宏任务执行完后,浏览器会检查微任务队列,并执行其中的所有微任务。
因此,从宏观上来看,宏任务先执行,微任务在其之后执行。但是,在单个宏任务执行期间,微任务实际上是在宏任务的执行间隔期间穿插执行的,从这个角度看,微任务又是在宏任务之间穿插执行的。
所以问题的答案取决于你关注的执行阶段:在宏任务队列空闲的时候,总是先执行宏任务;在宏任务执行期间,微任务会等待,直到宏任务执行完毕再执行;在单个事件循环中,宏任务和微任务是交替执行的。
总结:
以上内容是小编给大家分享的微信小程序实战004:各种生命周期函数详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
版权声明:【微信小程序生命周期函数执行顺序,小程序生命周期函数详解】版权归原作者所有,本文由作者:【隔壁老王】用户自发贡献上传,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任,如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至举报,一经查实,本站将立刻删除,如若转载,请注明出处:https://www.intostarry.com/jrzy/130.html