小程序面试题

1、小程序的启动:

冷启动: 如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。

热启动: 如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。

从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台

2、小程序的更新机制:

在访问小程序时,微信会将小程序的代码包缓存到本地。

小程序的更新机有两种:启动时 同步更新,和 启动时 异步更新。

启动时同步更新:微信运行时,会定期检查最近使用的小程序是否有更新,如果有更新,下次小程序启动时会同步进行更新,更新到最新版本后再打开小程序。如果用户长时间未使用小程序,会强制同步检查版本更新。

启动时异步更新:在启动前没有发现更新,小程序每次冷启动时,都会异步检查是否更新版本。如果发现有新版本,将会异步下载新版本的代码包,将新版本的小程序在下一次冷启动进行使用,当前访问使用的依然是本地的旧版本代码。

onLaunch: 是小程序的钩子函数,这个钩子函数在冷启动时肯定会执行,自动向微信后台请求版本信息,如有新版本,会进行立即下载。

3、小程序的生命周期:

一个小程序的生命周期由 应用生命周期、页面生命周期和组件生命周期三部分来组成。

(1) 应用生命周期:指 小程序从 启动 -> 运行 ->销毁 的整个过程

·app.js——应用生命周期函数:onLaunch(小程序初始化)、onShow(小程序启动或切前台)、onHide(小程序切后台)

(2)页面的生命周期:指 页面从 加载-> 运行 ->销毁 的整个过程

页面的js——页面的生命周期函数:onLoad(监听页面加载)、onShow(监听页面展示)、onReady(监听页面渲染完成)、onUnload(监听页面卸载)、onHide(监听页面隐藏)

注意:1、tabBar页面之间相互切换,页面不会被销毁。2、点击左上角返回上一个页面,会销毁当前页面。

4、小程序API:

(1)分类:

异步API:通常接收一个object类型的参数,例如:wx.request({})

同步API:约定以Sync结尾,例如wx.setStorageSync()

时间监听API:约定以on开头,例如onAppHide()

异步API支持callback&Promise两种调用方式:

1、当接口参数Object对象中不包含success、fall、complete时将默认返回Promise

2、部分接口如request、uploadFile本身就有返回值,因此不支持Promise风格调用方式,他们的promisify需要开发者自行封装。

(2)列举介绍:

a、wx.request()发起网络请求; wx.request请求域名必须在微信公众平台进行配置。

b、用于页面交互的api:

wx.showLoading() :显示loading提示框

wx.hideLoading():关闭loading提示框

wx.showToast():消息提示框,根据用户的某些操作来告知操作的结果,例如退出成功给用户提示;提示删除成功等。

wx.showModal():模态对话框(消息确认框),用于询问用户是否执行一些操作。例如:询问用户是否退出登录,是否删除等。

c、小程序 本地 存储API:

同步API:

存储:wx.setStorageSync(key,value) 获取:wx.getStorageSync(key) 删除:wx.removeStorageSync(key) 清空:wx.clearStorageSync()

异步API:

存储:wx.setStorage({key:“”,data:value}) 获取:wx.getStorage({key:“”}) 删除:wx.removeStorage({key:“”}) 清空:wx.clearStorage()

注意:对象类型的数据,直接进行存储,不需要使用JOSN.stringify()、JOSN.parse()转换。

d、编程式导航:

小程序页面跳转的的两种方式:

(1)声明式导航:navigator组件

(2)编程式导航:使用小程序提供的API

e、页面处理函数:

上拉加载:

(1)在app.json或者page.json中配置举例页面底部距离:onreachBottomDistance

(2)在页面.js中定义onReachBottom事件监听用户上拉加载

下拉刷新:

(1)在app.json或者page.json中开启允许下拉,同事可以配置窗口、loading样式。

(2)在页面.js中定义onPullDownRefresh事件监听用户下拉刷新。

f、scroll-view:实现上拉加载更多和下拉刷新功能。

scroll-view文档说明

<scroll-view scroll-y

class="scroll-y"

lower-threshold="100"  //距离底部/右边多远时,触发scrolltolower事件

bindscrolltolower="getMore"  //上拉加载更多 滚动到底部/右边时触发

enable-back-to-top="true"  //iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向

refresher-enabled="true" //开启下拉刷新

refresher-default-style="black"  //设置自定义下拉刷新的默认样式,支持设置 black | white | none

refresher-background="#f7f7f8" //设置自定义下拉刷新区域背景颜色,默认为透明

bindrefresherrefresh="refreshHandle"  //下拉刷新触发事件

refresher-triggered="{{istriggred}}" //设置下拉刷新是否触发,true表示下拉已经被触发,false表示下拉刷新未被触发。(进而可以设置请求成功后关闭下拉状态)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容

  • A类问题(技术) 1. 请谈谈微信小程序作用? project.config.json 项目配置文件,用得最多的就...
    七月鎏金阅读 1,587评论 0 3
  • 1 请谈谈微信小程序主要目录和文件的作用?project.config.json 项目配置文件,用得最多的就是配置...
    DreamofLimb阅读 515评论 0 3
  • 1. 小程序有几个文件? WXML: 微信自己定义的一套组件 WXSS : 用于描述 WXML 的组件样式...
    冰点k阅读 898评论 0 1
  • 小程序面试 小程序相关文件 wxml 模版文件,是框架设计的一套标签语言,结合基础组件,事件系统可以构建出页面结构...
    play_0阅读 406评论 0 1
  • 1、简单描述下 微信小程序的相关文件类型? 答:微信小程序项目结构主要有四个文件类型,如下 一、WXML (Wei...
    奋斗1216阅读 24,967评论 4 91