1. 简述微信小程序的运行机制
热启动 :假如⽤户已经打开了某个⼩程序,在⼀定时间内再次打开⼩程序的话,这个时候我们就不再需要重新启动了,只需要把我们的后台打开的⼩程序切换到前台来使⽤。 冷启动:⽤户⾸次打开⼩程序或被微信主动销毁再次打开的情况,此时⼩程序需要重新加载启动。
2. 分析一下小程序的优劣势
优势:
-
无需下载,通过搜索和扫一扫就可以打开
-
打开速度快
-
开发成本比App要低
-
安卓上可以添加到桌面,与原生App差不多
-
为用户提供良好的安全保障。
劣势:
-
限制较多。
-
样式单一。
-
推广面窄,不能分享朋友圈,
-
依托于微信,无法开发后台管理功能
3. 简单描述下微信小程序的相关文件类型
微信小程序项目结构主要有四个文件类型,如下:
1.WXML可以构建出页面的结构 2.WXSS 是一套样式语言,用于描述 WXML 的组件样式- 3.js逻辑处理,网络请求 4.json小程序配置文件 5.app.json作为配置文件入口,整个小程序的全局配置。 6.app.js入口文件 7.app.wxss全局页面样式设置,在app.wxss中设置的样式可以在小程序的所有页面生效
4. 请谈谈小程序的生命周期函数
-
onLoad():页面加载时触发
-
onShow():页面显示/切入前台时触发
-
onReady():页面初次渲染完成时触发
-
onHide():页面隐藏/切入后台时触发
-
onUnload():页面卸载时触发
-
onPullDownRefresh():下拉刷新的钩子函数
-
onReachBottom():上翻到底的钩子函数
5. 请谈谈小程序的组件生命周期函数
-
created():组件实例刚刚被创建好时触发。
-
attached():在组件完全初始化完毕、进入页面节点树后触发。
-
detached() 组件离开页面节点树后触发。
6. 微信小程序中的路由及其区别
// wx.navigateTo():保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面 // wx.redirectTo():关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面 // wx.switchTab():跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 // wx.navigateBack()关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层 // wx.reLaunch():关闭所有页面,打开到应用内的某个页面
7. 说出小程序当中常用的UI组件
-
视图容器组件:
view
、swiper
、swiper-item
-
基础内容组件:
text
、icon
、rich-text