微信小程序【常见面试题】

小程序的登录需要请求几次?

  1. 请求wx.login,返回code
  2. 发送code,返回openid+sessionKey
  3. 请求getuserinfo(用户信息)

小程序怎样使用自定义组件?

首先需要在 json 文件中进行自定义组件声明

{
          
   
	"component":true
}

然后在自定义组件的 js 文件中,需要使用 Component()来注册组件; 使用时在页面的 json文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径:

{
          
   
	"usingComponents":{
          
   
		"component-tag-name":"path/to/the/custom/component"
	}
}

小程序的生命周期

小程序是双向数据绑定吗?怎么更新data

不是, 用setData()更新

小程序本地存储有哪些常用api?

wx.navigateTo和 wx.redirectTo 有什么区别,分别适用于哪些场景

    使用wx.navigateTo每新开一个页面,页面栈大小加1,使用wx.navigateTo重复打页面也会增加页面栈 使用wx.redirectTo会关闭当前页面打开新页面,页面栈大小不变 对于可逆操作,使用wx.navigateTo,比如从首页跳转到二级页面,从二级页面返回是不需要重新渲染首页 对于不可逆操作,使用wx.redirectTo,比如用户登录成功后,关闭登录页面,不能返回到登录界面。 不要在首页使用wx.redirectTo,这样会导致应用无法返回首页
  1. WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式
  2. js 逻辑处理,网络请求
  3. json 小程序设置,如页面注册,页面标题及tabBar。
  4. app.js 必须要有这个文件,没有也是会报错!但是这个文件创建一下就行 什么都不需要写以后我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。
  5. app.wxss 全局样式
  1. 提高页面加载速度
  2. 用户行为预测
  3. 减少默认data的大小
  4. 组件化方案

小程序与原生App哪个好?

优势

  1. 无需下载,通过搜索和扫一扫就可以打开。
  2. 良好的用户体验:打开速度快。
  3. 开发成本要比App要低。
  4. 安卓上可以添加到桌面,与原生App差不多。

劣势

  1. 限制较多。页面大小不能超过1M。不能打开超过5个层级的页面。
  2. 样式单一。小程序的部分组件已经是成型的了,样式不可以修改。例如:幻灯片、导航。

怎么解决小程序的异步请求问题?

在回调函数中调用下一个组件的函数: app.js

success: function (info) {
          
            
	that.apirtnCallback(info)
}

index.js

onLoad: function () {
          
   
	app.apirtnCallback = res => {
          
   
		console.log(res) 
    }
}
经验分享 程序员 微信小程序 职场和发展