成都最好的网站建设公司,厦门网站模板,广州工业设计公司有哪些,软件开发人员外包生命周期
什么是生命周期
生命周期#xff08;Life Cycle#xff09;是指一个对象从创建 - 运行 - 销毁的整个阶段#xff0c;强调的是一个时间段。
我们可以把每个小程序运行的过程#xff0c;也概括为生命周期#xff1a;
小程序的启动#xff0c;表示生命…生命周期
什么是生命周期
生命周期Life Cycle是指一个对象从创建 - 运行 - 销毁的整个阶段强调的是一个时间段。
我们可以把每个小程序运行的过程也概括为生命周期
小程序的启动表示生命周期的开始小程序的关闭表示生命周期的结束中间小程序运行的过程就是小程序的生命周期
生命周期的分类
在小程序中生命周期分为两类分别是
应用生命周期特指小程序从启动 - 运行 - 销毁的过程页面生命周期特指小程序中每个页面的加载 - 渲染 - 销毁的过程
其中页面的生命周期范围较小应用程序的生命周期范围较大
什么是生命周期函数
生命周期函数是由小程序框架提供的内置函数会伴随着生命周期自动按次序执行。
生命周期函数的作用允许程序员在特定的时间点执行某些特定的操作。例如页面刚加载的时候可以在 onLoad 生命周期函数中初始化页面的数据。
注意生命周期强调的是时间段生命周期函数强调的是时间点。
生命周期函数的分类
小程序中的生命周期函数分为两类分别是
应用的生命周期函数特指小程序从启动 - 运行 - 销毁期间依次调用的那些函数页面的生命周期函数特指小程序中每个页面从加载 - 渲染 - 销毁期间依次调用的那些函数
1.应用的生命周期函数
小程序的应用生命周期函数需要在 app.js 中进行声明示例代码如下 // app.js App({ /** * 当小程序初始化完成时会触发 onLaunch全局只触发一次 */ onLaunch: function () { console.log(onLaunch) }, /** * 当小程序启动或从后台进入前台显示会触发 onShow */ onShow: function (options) { }, /** * 当小程序从前台进入后台会触发 onHide */ onHide: function () { }, /** * 当小程序发生脚本错误或者 api 调用失败时会触发 onError 并带上错误信息 */ onError: function (msg) { } }) 控制台输出 2.页面的生命周期函数
小程序的页面生命周期函数需要在页面的 .js 文件中进行声明示例代码如下 // pages/info/info.js Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { console.log(options) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, goBack(){ wx.navigateBack() }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } }) WXS 脚本
WXSWeiXin Script是小程序独有的一套脚本语言结合 WXML可以构建出页面的结构。
wxs 的应用场景
wxml 中无法调用在页面的 .js 中定义的函数但是wxml 中可以调用 wxs 中定义的函数。因此小程序中 wxs 的典型应用场景就是“过滤器”。
wxs 和 JavaScript 的关系*
虽然 wxs 的语法类似于 JavaScript但是 wxs 和 JavaScript 是完全不同的两种语言
wxs 有自己的数据类型
number 数值类型、string 字符串类型、boolean 布尔类型、object 对象类型、function 函数类型、array 数组类型、date 日期类型、regexp 正则
wxs 不支持类似于 ES6 及以上的语法形式
不支持let、const、解构赋值、展开运算符、箭头函数、对象属性简写、etc... 支持var 定义变量、普通 function 函数等类似于 ES5 的语法
wxs 遵循 CommonJS 规范
module 对象 require() 函数 module.exports 对象
基础语法
1. 内嵌 wxs 脚本
wxs 代码可以编写在 wxml 文件中的 wxs 标签内就像 Javascript 代码可以编写在 html 文件中的 script 标签内一样。
wxml 文件中的每个 wxs/wxs 标签必须提供 module 属性用来指定当前 wxs 的模块名称方便在 wxml 中访问模块中的成员 2. 定义外联的 wxs 脚本
wxs 代码还可以编写在以 .wxs 为后缀名的文件内就像 javascript 代码可以编写在以 .js 为后缀名的文件中一样。示例代码如下 3. 使用外联的 wxs 脚本
在 wxml 中引入外联的 wxs 脚本时必须为 wxs 标签添加 module 和 src 属性其中
module 用来指定模块的名称 src 用来指定要引入的脚本的路径且必须是相对路径
示例代码如下 WXS 的特点
1. 与 JavaScript 不同
为了降低 wxsWeiXin Script的学习成本 wxs 语言在设计时借大量鉴了 JavaScript 的语法。但是本质上wxs 和 JavaScript 是完全不同的两种语言
2. 不能作为组件的事件回调
wxs 典型的应用场景就是“过滤器”经常配合 Mustache 语法进行使用例如 但是在 wxs 中定义的函数不能作为组件的事件回调函数。例如下面的用法是错误的 3. 隔离性
隔离性指的是 wxs 的运行环境和其他 JavaScript 代码是隔离的。体现在如下两方面
wxs 不能调用 js 中定义的函数wxs 不能调用小程序提供的 API
4. 性能好
在 iOS 设备上小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍在 android 设备上二者的运行效率无差异