小程序常见的面试题

本文整理了关于微信小程序的常见面试题,涵盖了小程序的文件类型、数据请求封装、参数传递方式、性能优化策略、优劣势分析、运行原理、与H5的区别、页面跳转方法、双向绑定差异、分包加载、开发中的问题与解决方案等内容,全面解析小程序开发的关键知识点。
摘要由CSDN通过智能技术生成

小程序常见的面试题

1、简单描述下微信⼩程序的相关⽂件类型?

答:微信⼩程序项⽬结构主要有四个⽂件类型,如下:
.WXML
是框架设计的⼀套标签语⾔,结合基础组件、事件系统,可以构建出⻚⾯的结构。
内部主要是微信⾃⼰定义的⼀套组件。
.WXSS
(WeiXin Style Sheets)是⼀套样式语⾔,⽤于描述 WXML 的组件样式。
.js
逻辑处理,⽹络请求。
.json
⼩程序设置,如⻚⾯注册,⻚⾯标题及tabBar。
app.json
必须要有这个⽂件,如果没有这个⽂件,项⽬⽆法运⾏,因为微信框架把这个作为
配置⽂件⼊⼝,整个⼩程序的全局配置。包括⻚⾯注册,⽹络设置,以及⼩程序的
window背景⾊,配置导航条样式,配置默认标题。
app.js
必须要有这个⽂件,没有也是会报错!但是这个⽂件创建⼀下就⾏ 什么都不需要写
以后我们可以在这个⽂件中监听并处理⼩程序的⽣命周期函数、声明全局变量。

2、你是怎么封装微信⼩程序的数据请求的?

答:
1、创建⼀个js⽂件 ⽂件中声明⼀个 baseUrl(接⼝地址的公共部分)
2、创建⼀个api函数 ⾥⾯可以接收 接⼝地址,请求⽅式,请求参数 然后使⽤
wx.request 发起请求 并把结果使⽤promise返回
3、我们通常会在wx.request的请求中配置 header 和响应拦截

3、微信⼩程序中有哪些参数传值的⽅法?

答:
⼀、给HTML元素添加data-属性来传递我们需要的值,然后通过
e.currentTarget.dataset。但data-名称不能有⼤写字⺟和不可以存放对象
⼆、wx.setStorageSync wx.getStorageSync
三、在navigator中添加参数传值,然后在跳转的⻚⾯使⽤onload的param参数获取

4、你使⽤过哪些⽅法,来提⾼微信⼩程序的应⽤速度?

答:
⼀、提⾼⻚⾯加载速度(压缩静态⽂件,使⽤精灵图,路由分包)
⼆、⽤户⾏为预测
三、减少默认data的⼤⼩,在不操作视图的时候,使⽤this.data.n=10这种赋值⽅式
代替this.setData({n:10})

5、分析下微信⼩程序的优劣势?

答:
优势:
1、⽆需下载,通过搜索和扫⼀扫就可以打开。
2、良好的⽤户体验:打开速度快。
3、开发成本要⽐App要低。
4、安卓上可以添加到桌⾯,与原⽣App差不多。
5、为⽤户提供良好的安全保障。⼩程序的发布,微信拥有⼀套严格的审查流程,
不能通过审查的⼩程序是⽆法发布到线上的。
劣势:
1、限制较多。⻚⾯⼤⼩不能超过1M。不能打开超过5个层级的⻚⾯。
2、样式单⼀。⼩程序的部分组件已经是成型的了,样式不可以修改。例如:幻灯
⽚、导航。
3、推⼴⾯窄,不能分享朋友圈,只能通过分享给朋友,附近⼩程序推⼴。其中附近
⼩程序也受到微信的限制。
4、依托于微信,⽆法开发后台管理功能。

6、简述微信⼩程序原理?(⼩程序是如何在微信 App ⾥运⾏的呢?)

原理上,微信 App ⾥包含 javascript 运⾏引擎。微信 App ⾥包含了 WXML/WXSS
处理引擎,最终会把界⾯翻译成系统原⽣的界⾯,并展示出来。这样做的⽬的是为
了提供和原⽣ App 性能相当的⽤户体验。
我们来意淫⼀下⼩程序加载运⾏的过程:⽤户点击打开⼀个⼩程序微信 App 从微信
服务器下载这个⼩程序分析 app.json 得到应⽤程序的配置信息(导航栏,窗⼝样
式,包含的⻚⾯列表等)加载并运⾏ app.js加载并显示在 app.json ⾥配置的第⼀个
⻚⾯) ⽐如开发者调⽤ wx.getLocation(OBJECT) 获取当前地理位置,微信 App ⾥ 的 JavaScript 引擎在执⾏这个代码时,会去调⽤微信 App ⾥实现的原⽣接⼝来获

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值