1. 简述微信小程序的运行机制
热启动 :假如⽤户已经打开了某个⼩程序,在⼀定时间内再次打开⼩程序的话,这个时候我们就不再需要重新启动了,这需要把我们的后台打开的⼩程序切换到前台来使⽤。
冷启动:⽤户⾸次打开⼩程序或被微信主动销毁再次打开的情况,此时⼩程序需要重新加载启动。
2. 分析一下小程序的优劣势
优势
无需下载,通过搜索和扫一扫就可以打开
良好的用户体验:打开速度快 开发成本比App要低
安卓上可以添加到桌面,与原生App差不多
为用户提供良好的安全保障。
劣势:
限制较多。
样式单一。
推广面窄,不能分享朋友圈,
依托于微信,无法开发后台管理功能
3. 简单描述下微信小程序的相关文件类型
微信小程序项目结构主要有四个文件类型,如下:
- 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
表单组件:button、form checkbox、input
导航组件:navigator
媒体组件:image、
8. 谈一谈你对wxs的理解
概念:wxs(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构
特点:
没有兼容性
与JavaScript不同
隔离性
不能作为事件回调
ios设备上比javascript运行快
wxs遵循CommonJs模块化规范
支持的数据类型:
number:数值类型
string:字符串类型
boolean:布尔类型
object:对象类型
function:函数类型
array:数组类型
date:日期类型
regexp:正则