微信小程序常见面试题整理

103 阅读2分钟

1.小程序的生命周期函数

  • onLoad() 页面加载时触发,只会调用一次,可获取当前页面路径中的参数。
  • onReady() 页面初次渲染完成时触发, 只会调用一次,代表页面已可和视图层进行交互。
  • onShow() 页面显示/切入前台时触发,一般用来发送数据请求;
  • onHide() 页面隐藏/切入后台时触发, 如底部 tab 切换到其他页面或小程序切入后台等。
  • onUnload() 页面卸载时触发,如redirectTo或navigateBack到其他页面时。

2.小程序等路由控制

  • wx.switchTab,关闭所有页面,跳转到tab页面
  • wx.reLaunch,关闭所有页面,打开指定页面
  • wx.navigateTo/# wx.navigateBack 跳转/返回到任何页面,不能是tab页面

3.微信小程序架构原理

小程序本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行; 它的架构,是数据驱动的架构模式,它的UI和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现;分为webview和appService两个部分; webview用来展现UI,appService有来处理业务逻辑、数据及接口调用;两个部分在两个进程中运行,通过系统层JSBridge实现通信,实现UI的渲染、事件的处理等。 它从技术讲和现有的前端开发差不多,采用JavaScript、WXML、WXSS三种技术进行开发; 它最强大之处在于通过微信客户端调用原生的各种接口;

4. 小程序的双向绑定和vue的异同

大体相同,但小程序直接this.data的属性是不可以同步到视图的,必须调用this.setData()方法!

5. 微信小程序中的js运行环境和浏览器js的运行环境有什么不同?

微信小程序js运行环境是jsCore中,没有window和document对象