欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-19 19:21 作者:最强剑神系统一  | 我要投稿

1.简述微信小程序原理

微信小程序采用(lavascript、 wXMNL、 wxss三种技术进行开发,本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口微信的架构,是数据驱动的架构模式,它的ur和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现小程序分为两个部分webview和 appservice。其中 webview主要用来展现uT,appservice有来处理业务逻辑、数据及接口调用。它们在两个进程中运行,通过系统层(sBridge实现通信,实现(Ur的渲染、事件的处理

2.小程序里面的双向绑定是通过调用this.setData({“这里是要修改的值”})来修改。

3.小程序中表单元素发生变化时,data中的值跟着变化怎么做?

当表单内容发生变化时,会触发表单元素上绑定的方法,然后在该方法中,通过this.setData(keyrvalue})来将表单上的值赋值给data中的对应值。

4.如何自定义小程序的navigationBar

·思路

隐藏原生样式获取胶囊按钮、状态栏相关数据以供后续计算根据不同机型计算出该机型的导航栏高度,进行适配编写新的导航栏引用到页面

5.wx:if和hidden的区别

1、当元素频繁切换是否显示时使用 hidden,因为wxcif 会频繁地销毁渲染元素

2、当元素不频繁切换是否显示时使用wx:if,因为wx:if 会避免页面加载时渲染过多,导致页面加载缓慢

6.小程序的wxss和css有哪些不一样的地方?

wxss和css类似

(1)尺寸单位rpx

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

(2)使用@import标识符来导入外联样式。

7.小程序页面有哪些传递数据的方法?

(1)使用全局变量实现数据传递。

在app.js文件中定义全局变量globalData,将需要存储的信息存放在里面

使用的时候直接调用getAPP()拿到存储的信息

(2)使用wx.navigateTo与wx.redirectTo的时候,可以将部分数据放在url里面,并在新页面onLoad的时候初始化

(3)使用本地缓存storage

8.小程序的(页面)生命周期函数

(1)onLoad页面加载时触发 一个页面只会调用一次。

(2)onshow() 页面显示/切入前台时触发。不建议在这里调用接口

(3)onReady()页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备完成可以和试图层进行交互

(4)onHide()页面隐藏/切入后台时触发。

(5)onUnload()页面卸载时触发

9.那些方法可以提高微信小程序的应用速度

1)提高页面加载速度

2)用户行为预测

3)减少默认data的大小

4)组件化方案

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

在返回成功的回调里卖处理逻辑

promise异步

11.小程序关联微信公众号如何确定用户的唯一性?

如果开发者拥有多个移动应用,网站应用,公众号账号,可以通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台账号下的移动应用,网站应用和公众号,用户的unionid是唯一的。

12.如何实现下拉刷新

1)首先在全局config中的window配置enablePullDownRefresh

2)在page中定义onpulldownrefresh钩子函数,到达下拉刷新条件后,该钩子函数执行,发起请求方法

3)请求返回后,调用wx.stopPullDownRefresh停止刷新



千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律