您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > 小程序

15个高频微信小程序面试题

时间:2022-01-27 09:59:19  来源:  作者:码农不加班
15个高频微信小程序面试题

 

微信小程序面试题

1. 小程序有几个文件?

WXML:微信自己定义的一套组件

WXSS : 用于描述 WXML 的组件样式

js : 逻辑处理

json : 小程序页面配置

2.小程序怎么跟随事件传值

在 页面标签上通过 绑定 dataset-key = value , 然后绑定点击通过e.currentTarget.dataset.key 来获取标签上绑定的值。

<button bindtap="get"  data-name="测试"> 拿到传值</button>

get(e){
    console.log(e.currentTarget.dataset.name)
  },

3. 小程序WXSS与css的区别

WXSS

wxss 背景图片只能引入外链,不能使用本地图片

小程序样式使用 @import 引入 外联样式文件,地址为相对路径。

尺寸单位为 rpx , rpx 是响应式像素,可以根据屏幕宽度进行自适应。

4. 小程序的双向绑定和Vue哪里不一样。

小程序 直接使用this.data.key = value 是 不能更新到视图当中的。

必须使用 this.setData({ key :value }) 来更新值。

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

onLoad : 页面加载时触发。一个页面只会调用一次,可以在 onLoad的参数中获取打开当前页面路径中的参数

onShow : 页面显示 / 切入前台时触发调用。

onReady : 页面初次渲染完成时触发,一个页面只会调用一次。

onHide : 页面隐藏 / 切入后台时触发,如 navigateTo 或底部 tab切换到其他页面,小程序切入后台等

onUnload : 页面卸载时触发。如 redirectTo或 navigateBack 到其他页面时.

6. 小程序怎么实现下拉刷新

两种方案方案 一 :通过在 App.json 中, 将 "enablePullDownRefresh": true, 开启全局下拉刷新。或者通过在 组件 .json , 将 "enablePullDownRefresh": true, 单组件下拉刷新。方案二:scroll-view :使用该滚动组件 自定义刷新,通过 bindscrolltoupper 属性, 当滚动到顶部/左边,会触发 scrolltoupper事件,所以我们可以利用这个属性,来实现下拉刷新功能。

7. bindtap和 catchtap区别

相同点: 都是点击事件

不同点: bindtap 不会阻止冒泡, catchtap 可以阻止冒泡。

8. 小程序有哪些传递数据的方法

1. 使用全局变量在 app.js 中的 this.globalData = { } 中放入要存储的数据。在 组件.js 中, 头部 引入 const app = getApp(); 获取到全局变量直接使用 app.globalData.key 来进行赋值和获取值。2. 使用 路由wx.navigateTo 和 wx.redirectTo 时,可以通过在 url 后 拼接 + 变量, 然后在 目标页面 通过在 onLoad 周期中,通过参数来获取传递过来的值。3. 使用本地缓存

9. 简述下wx.navigateTo(),wx.redirectTo(),wx.switchTab(),wx.navigateBack(),wx.reLaunch()区别

wx.navigateTo() : 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

wx.redirectTo() : 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面

wx.switchTab() : 跳转到 TabBar 页面,并关闭其他所有非 tabBar 页面

wx.navigateBack() : 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层

wx.reLaunch() : 关闭所有页面,打开到应用的某个页面。

10. 小程序wx:if和 hidden的区别

wx:if : 有更高的切换消耗。

hidden : 有更高的初始渲染消耗。

使用频繁切换使用 hidden, 运行时条件变化使用 wx: if

11.app.json全局配置文件描述

pages : 用于存放当前小程序的所有页面路径

window : 小程序所有页面的顶部背景颜色,文字颜色配置。

tabBar : 小程序底部的 Tab ,最多5个,最少2个。

12. 如何封装小程序请求

封装 wx.request 请求传递需要的参数( url , data , method , success 成功回调 , fail 失败回调 ) , 封装常用方法 POST , GET , DELETE , PUT .... 最后导出这些方法

 

然后新建一个 api.js 文件,导入封装好的方法,然后调取相应的方法,传递数据。

wx.request 封装

var app = getApp(); //获取小程序全局唯一app实例
var host = '******************'; //接口地址
 

 
//POST请求
function post(url, data, success,fail) {
  request(url, postData, "POST", doSuccess, doFail);
}
 
//GET请求
function get(url, data, success, fail) {
  request(url, postData, "GET", doSuccess, doFail);
}
 
function request(url, data, method, success, fail) {
  wx.showLoading({
    title: "正在加载中...",
  })
  wx.request({
    url: host + url, //请求地址
    method: method, //请求方法
    header: { //请求头
      "Content-Type": "application/json;charset=UTF-8"
    },
    data: data, //请求参数    
    dataType: 'json', //返回数据格式
    responseType: 'text', //响应的数据类型
    success: function(res) {
      wx.hideLoading();
      //成功执行方法,参数值为res.data,直接将返回的数据传入
      success(res.data);
    },
    fail: function() {
      //失败执行方法
      fail();
    },
  })
}
module.exports = {
  postRequest: post,
  getRequest: get,
}

组件使用 封装好的请求

var http = require('../../utils/request.js'); //相对路径


var params = {//请求参数
  id:this.data.userId
}
http.postRequest("user/delUser", params, function(res) {
  console.log("修改成功!");
  
}, function(res) {
  console.log("修改失败!!!")
})

13. 小程序运行机制

热启动 :假如用户已经打开了某个小程序,在一定时间内再次打开小程序的话,这个时候我们就不再需要重新启动了,这需要把我们的后台打开的小程序切换到前台来使用。

冷启动:用户首次打开小程序或被微信主动销毁再次打开的情况,此时小程序需要重新加载启动。

14. 小程序什么时候会主动销毁?

小程序在进入后台之后,客户端会帮我们在一定时间内维持我们的一个状态,超过五分钟后,会被微信主动销毁.

官方也没有明确说明 什么时候销毁, 在不同机型表现也不一样,

2019年开发时:时间官方文档没有说明,但是经过询问一般指5分钟内

2020年开发时:时间官方文档没有说明,实测Android/ target=_blank class=infotextkey>安卓没有固定时间,内存足够情况下,有时候一天了还在,有时候几分钟就没了。

15. 微信授权流程

15个高频微信小程序面试题

 

转自:
https://my.oschina.net/u/4974233/blog/4939738



Tags:微信小程序   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
微信小程序面试题1. 小程序有几个文件?WXML:微信自己定义的一套组件WXSS : 用于描述 WXML 的组件样式js : 逻辑处理json : 小程序页面配置2.小程序怎么跟随事件传值在 页面标...【详细内容】
2022-01-27  Tags: 微信小程序  点击:(1)  评论:(0)  加入收藏
互联网巨头纷纷扎堆“小程序”,大家可能比较好奇他们之间有什么不同?今天就给大家分享下各自的优势。微信小程序是基于其微信公众号与社交优势。支付宝小程序最有自身特色的能...【详细内容】
2022-01-11  Tags: 微信小程序  点击:(9)  评论:(0)  加入收藏
微信上有很多好用的小程序,不占手机内存,还很好用。这里就来分享5个国家出品的微信小程序,强大且实用,每个都不容错过 1、国家政务服务平台 全国一体化政务服务平台,国家政务服务...【详细内容】
2022-01-10  Tags: 微信小程序  点击:(18)  评论:(0)  加入收藏
微信小程序“无障碍急救平台”日前上线,解决听障人士120急救呼叫难题。听障人士在日常生活、工作中常有信息缺失、沟通不良的困难。如果自身或身边人突发急症,则需要依靠他人...【详细内容】
2021-12-15  Tags: 微信小程序  点击:(29)  评论:(0)  加入收藏
现如今卖东西的渠道是越来越多,如今在微信小程序也能开店卖东西了,有的小伙伴想在小程序上卖东西但不知道该怎么做,下面就来讲讲微信小程序如何做店铺,利用微信小程序!但凡得到公...【详细内容】
2021-11-03  Tags: 微信小程序  点击:(37)  评论:(0)  加入收藏
作者:灰灰来源:JS每日一题 一、背景传统的web开发实现登陆功能,一般的做法是输入账号密码、或者输入手机号及短信验证码进行登录服务端校验用户信息通过之后,下发一个代表登录态...【详细内容】
2021-10-29  Tags: 微信小程序  点击:(53)  评论:(0)  加入收藏
一、微信服务号主要偏于服务交互(类似银行,114,提供服务查询),认证前后都是每个月可群发4条消息(不适用于个人)二、微信订阅号主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天...【详细内容】
2021-10-22  Tags: 微信小程序  点击:(99)  评论:(0)  加入收藏
总结列举微信小程序开放能力清单 硬件能力 蓝牙 NFC读写 连接WIFI设备 开放能力 ...【详细内容】
2021-09-27  Tags: 微信小程序  点击:(69)  评论:(0)  加入收藏
功能说明脱离公众号下的小程序,单独使用功能特点小程序:是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用...【详细内容】
2021-09-27  Tags: 微信小程序  点击:(54)  评论:(0)  加入收藏
微信小程序不愧是智能时代的宝藏发明,不用下载不占内存,点开就能用。今天介绍这7个小程序,个个都拥有超实用的功能,用了就知道有多香! 1.腾讯文档腾讯出品的在线文档编辑器,提供在...【详细内容】
2021-08-27  Tags: 微信小程序  点击:(105)  评论:(0)  加入收藏
▌简易百科推荐
微信小程序面试题1. 小程序有几个文件?WXML:微信自己定义的一套组件WXSS : 用于描述 WXML 的组件样式js : 逻辑处理json : 小程序页面配置2.小程序怎么跟随事件传值在 页面标...【详细内容】
2022-01-27  码农不加班    Tags:微信小程序   点击:(1)  评论:(0)  加入收藏
一、项目背景随着小程序在用户规模和商业化上取得的极大成功,各大平台都推出了自己的小程序。然而这些平台的小程序开发在语法上又不尽相同,不同平台小程序代码的维护需要投入...【详细内容】
2021-11-05  携程技术    Tags:小程序   点击:(78)  评论:(0)  加入收藏
作者:灰灰来源:JS每日一题 一、背景传统的web开发实现登陆功能,一般的做法是输入账号密码、或者输入手机号及短信验证码进行登录服务端校验用户信息通过之后,下发一个代表登录态...【详细内容】
2021-10-29  Nodejs开发    Tags:微信小程序   点击:(53)  评论:(0)  加入收藏
总结列举微信小程序开放能力清单 硬件能力 蓝牙 NFC读写 连接WIFI设备 开放能力 ...【详细内容】
2021-09-27  软件开发分享    Tags:微信小程序   点击:(69)  评论:(0)  加入收藏
核心商城(CoreShop)介绍核心小程序商城系统(CoreShop) 是基于 Asp.Net 5.0、Uni-App开发、支持可视化布局的小程序商城系统;前后端分离,支持分布式部署,跨平台运行;拥有分销、代理、...【详细内容】
2021-07-20  码农也有梦想    Tags:小程序商城   点击:(120)  评论:(0)  加入收藏
介绍Vue3发布已经有一段时间了,从目前来看,其生态还算可以,也已经有了各种组件库给予了支持,但是不管是Vue3还是Vue2都无法直接用来开发小程序,因此国内一些技术团队针对Vue开发...【详细内容】
2021-07-13  爱分享Coder    Tags:小程序   点击:(247)  评论:(0)  加入收藏
首先明确几个概念1. W3C:指万维网联盟(World Wide Web Consortium),是一个国际的标准的制定机构。2. H5(HTML5,HyperText Markup Language 5的缩写),HTML5 是由W3C制定的新HTML标...【详细内容】
2021-07-06  畅游零和一的海洋    Tags:微信小程序   点击:(158)  评论:(0)  加入收藏
在开发微信公众号时,需要不时请求URL和数据封装。为了不做重复的工作。提取公共部分进行封装。产生了相应的公众类。今天先来写下请求类,代码如下:public class HttpRequestP...【详细内容】
2021-06-16  java浮萍  今日头条  Tags:公共类   点击:(140)  评论:(0)  加入收藏
小程序上线后,改版了很多次,包括一些 Api 接口也有改动。如果你学习一个很久之前的小程序项目是没有意义的,本文推荐的小程序都是最近有更新的。相信在你学习、部署的过程中,不...【详细内容】
2021-06-08    程序猿久一  Tags:微信小程序   点击:(220)  评论:(0)  加入收藏
自从2019年微信公开课Pro在微信之夜演示《跳一跳》以来,微信小游戏已经不知不觉走过的三年,这三年中我们可以明显看到微信对小游戏的扶持,对于微信开发者来说,微信小游戏开发以...【详细内容】
2021-05-25  开课吧科科  今日头条  Tags:微信小游戏   点击:(245)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条