主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本文根据小程序总结分享了一些面试问题(附分析),让你的面试稳操胜券。希望对你有帮助!
小程序登录过程
步骤1: wx.login获取用户临时登录凭证的代码。
步骤2: wx.getUserInfo获取encryptedData和解密参数iv。
第三步:将第一步和第二步中的代码、encryptedData和iv发送到开发者自己的服务器上。第四步:服务器获取代码、encryptedData、iv后,通过get方法请求微信接口的以下个人项,没有后端接口,回答云开发中的登录流程。
小程序页面声明周期
●加载页面时触发onLoad(),只会调用一次获取当前页面路径中的参数。
● onShow()在页面显示/切到前台时触发,一般用于发送数据请求;
● onReady()页面在第一次渲染完成时触发,只会被调用一次,也就是说页面可以和视图层交互。
onhide()页面隐藏/切入后台时触发,比如底部标签页切换到其他页面或者小程序切入后台。
●卸载时触发onUnload()页面,比如重定向到或导航回其他页面。
小程序的通用框架
WeUIWeUI是一套与微信原有视觉体验一致的基础样式库。微信官方设计团队设计了微信的网页和小程序,让用户的使用感知更加统一。小程序开发中最常用的框架之一,受到开发者的欢迎。美团小程序框架mpvue官方介绍:mpvue是基于框架Vue.js的核心,使用Vue.js开发小程序的前端框架,mpvue修改了Vue.js的运行时和编译器实现,使其运行在小程序环境中,从而为小程序开发引入了一整套Vue.js开发经验。
Wepy官方推出组件开发框架:组件开发,完美解决组件隔离、组件嵌套、组件通信等问题。,支持使用第三方npm资源,自动处理npm资源之间的依赖关系,完美兼容所有npm资源包,无平台依赖性。MINA官方介绍:框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并提供了视图层和逻辑层之间的数据传输和事件系统,可以让开发者方便地专注于数据和逻辑。
你知道微信小程序吗?简述小程序的原理。
微信程序由⽤JavaScript、WXML和WXSS开发,其本质是单应性。所有的渲染和事件处理都在程序内部进行,但是原来的连接可以通过微信客户端进行调整。
微信的架构是数据驱动的架构模型。它的UI和数据是分离的,所有的更新都需要通过更改数据来完成。
程序分为两部分:webview和appService。Webview主要用来展示UI,appService用来处理业务逻辑、数据和调用。它们分两个进程运行,在系统层通过JSBridge实现通信,实现UI渲染和事件处理。
小程序项目的主目录文件功能
project.config.json项目的配置文件,并做一些个性化的配置,比如界面颜色、编译配置等等;app.json当前小程序的全局配置,包括所有页面路径配置、界面性能、网络超时、底部tab等。小程序的;Sitemap.json配置小程序及其页面是否允许被微信索引;Pages包含特定页面;Wxml (WeiXin Markup Language)是一套用于框架设计的标记语言,可以结合基础组件和事件系统来构造页面的结构。wxss (WeiXin Style Sheets)是一套样式语言,用来描述组件样式app.wxss作为全局样式,会作用于当前小程序的所有页面,而局部页面样式page.wxss只对当前页面生效;app.js小程序的逻辑js逻辑处理,网络请求json页面配置。
小程序双向绑定和vue有什么区别?
applet直接调用this.data的属性不能同步到视图,必须调用:this.setData({// set here})
applet页面的生命周期功能
当加载页面加载时触发。一个页面只会被调用一次,打开当前页面的路径中的参数可以从onLoad(监控页面加载)的参数中获取。
OnShow()页面显示/切入前景时触发(监视器页面显示)
第一次呈现onReady()页面时触发。一个页面只会被调用一次,这意味着该页面已经准备好与视图层进行交互(监视器页面的第一次呈现已经完成)。
当onHide()页面隐藏/剪切到背景中时触发。比如底部navigateTo或者tab切换到其他页面,小程序切入后台等等。(监控页面隐藏)
卸载onUnload()页面时触发。例如重定向到或导航回其他页面(监听页面卸载)
微信小程序的优缺点
优点:即用型,无需安装,节省流量,节省安装时间,不占用桌面和依赖微信流量,自然推广传播优势。开发成本比App低。缺点:对于用户来说保存和即用都是优点,但也存在一些问题。相比传统App,门户要深得多,限制多,页面大小不能超过2M,10级以上的页面打不开。
小程序的wxss和css有什么区别?
WXSS类似于CSS,但是在CSS的基础上做了一些添加和修改。
单元rpxrpx是一个响应像素,可以根据屏幕宽度进行调整。指定的屏幕宽度为750rpx。比如iPhone6上,屏幕宽度为375px,有750个物理像素,那么750rpx = 375px = 750个物理像素。
使用@import标识符来导入扩展样式。@import后跟要导入的外部样式表的相对路径,使用;语句结束
小程序页面之间传递数据的方法有哪些?
(1)使用全局变量实现数据传输。在app.js文件中定义全局变量globalData。在存储要存储在其中的信息以供使用时,直接使用getApp()获取存储的信息。
(2)使用wx.navigateTo和wx.redirectTo时,可以在url中放一些数据,并在加载时初始化新页面。注意事项:wx.navigateTo和wx.redirectTo不允许跳转到tab包含的页面,onLoad只执行一次。(3)使用本地缓存存储相关信息。
小程序如何关联微信微信官方账号来确定用户的唯一性?
如果一个开发者有多个移动应用、网站应用、公众账号(包括小程序),用户的唯一性可以通过unionid来区分,因为只要是同一个微信开放平台账号下的移动应用、网站应用、公众账号(包括小程序),用户的unionid都是唯一的。也就是说,同一个用户在同一个微信开放平台下,不同的应用都有相同的unionid。
如何实现下拉刷新
首先在全局配置的窗口中配置enablePullDownRefresh,在页面中定义onPullDownRefresh钩子函数。满足下拉刷新条件后,将执行钩子函数。请求方法返回后,将调用wx.stopPullDownRefresh来停止下拉刷新。
bindtap和catchtap有什么区别?
相同点:首先都是click事件的函数,也就是点击时触发。在这个角色里,他们是一样的,所以不能做任何区分。
区别:它们之间的主要区别是bindtap不会防止冒泡,而catchtap会防止冒泡。
' wx.navigateTo()',' wx.redirectTo()',' wx.switchTab()',' wx.navigateBack()', # 39;wx . re launch() # 39;之间的区别
Wx.navigateTo():保留当前页面并跳转到应用程序中的一个页面。但是不能跳转到tabbar页面。
Wx.redirectTo():关闭当前页面并跳转到应用程序中的一个页面。但是,不允许跳转到tabbar页面。
Wx.switchTab():跳转到tabBar页面并关闭所有其他非tabBar页面。
Wx.navigateBack():关闭当前页面,返回上一页或多级页面。可以通过getCurrentPages()获取当前页面堆栈,决定需要返回多少层。
Wx.reLaunch():关闭所有页面,打开应用程序中的一个页面。
typeof运算符和instanceof运算符与isPrototypeOf()方法的区别
Type是用于检测数据类型的运算符,例如基本数据类型null、undefined、string、number、boolean以及引用数据类型object和function。但是对于正则表达式、日期、数组等引用数据类型,都会被识别为object。
Instanceof也是一个运算符,可以很好的识别数据是哪个引用类型。它与isPrototypeOf的区别在于,它用于检测构造函数的原型是否存在于指定对象的原型链中;而isPrototypeOf是用来检测调用这个方法的对象是否存在于指定对象的原型链中,所以本质上是检测不同的目标。
call()和apply()之间的区别
其实apply和call的功能是一样的,只是传入的参数列表形式不同。Apply(这个对象,[parameter 1,parameter 2,...])应该写入数组,即使只有一个参数。调用(这个对象,参数1,参数2,…)它可以接受多个任意参数。第一个参数与apply相同,后面是参数列表。
微信小程序如何用事件传递价值?
在HTML元素中加入data-*属性来传递我们需要的值,然后通过e.currentTarget.dataset或者onload的param参数来获取。但是data -名称不能有大写字母,不能存储对象。
微信小程序和vue的区别
生命周期不一样。微信小程序的生命周期比较简单,数据绑定也不一样。微信小程序的数据绑定需要使用{{}}。vue是直接的:你可以控制元素的显示和隐藏。在小程序中,wx-if和hidden用于控制元素的显示和隐藏。在vue中,v-if和v-show的事件处理是不同的。在小程序中,所有事件都由bindtap(绑定+事件)或catchtap(捕捉+事件)绑定。vue:通过v-on:event绑定事件或通过@event绑定事件数据不同。在vue中,只需要在form元素中添加v-model,然后在data中绑定一个对应的值。当表单元素的内容发生变化时,数据中相应的值也会随之变化。这是一个非常好的vue点。微信小程序必须获取表单元素改变后的值,然后将值赋给data中声明的一个变量。
有哪些方法可以提高微信小程序的应用速度?
提高页面加载速度,预测用户行为,减少默认数据的大小,组件化方案
如何解决小程序的异步请求问题?
Applet支持大多数ES6语法来处理逻辑承诺异步返回成功的回调。
小程序wxml和标准html有什么异同?
相同:都是用来描述页面的结构;都是由标签、属性等组成的。;不一样:标签名不一样,小程序标签少,单个标签多;还有更多类似wx:if的属性和类似{{}}的表达式;WXML只能在微信小程序开发者工具中预览,而HTML可以在浏览器中预览;组件的打包不一样,WXML把组件重新打包;小程序运行在JS Core中,没有DOM树和窗口对象,窗口对象和文档对象不能在小程序中使用。
程序简单介绍下三个事件对象的属性列表?
BaseEvent)类型:事件类型时间戳:事件生成时的时间戳目标:触发事件的组件的属性值集当前目标:当前组件的一些属性集CustomEvent)细节触摸事件触摸已更改的触摸
小程序如何理解wx:if和hidden的用法?
Wx: if有较高的开关损耗。隐藏具有较高的初始渲染成本。因此,如果需要频繁切换,hidden更好,如果运行时条件不太可能改变,wx:if更好。
微信小程序和H5的区别
运行环境不同:HTML5的传统运行环境是浏览器,包括webview,而微信小程序的运行环境不是完整的浏览器。是微信开发团队基于浏览器内核完全重构的内置解析器。专门针对小程序进行优化,用自己定义的开发语言标准提升小程序的性能。开发成本差异:只在微信上运行,不用担心浏览器兼容性问题,也不用担心在生产环境中出现意想不到的奇妙BUG来获取不同的系统级权限。
App.json是当前小程序的全局配置,它告诉了三个配置的每一项的含义?
页面字段-用于描述当前小程序的所有页面路径。这是为了让微信客户端知道你的小程序页面当前定义在哪个目录下。窗口字段-applet所有页面的顶部背景颜色,文本颜色在这里的选项卡字段中定义-applet的全局顶部或底部选项卡。
使用applet onPageScroll方法需要注意什么?
由于此方法被频繁调用,因此在不需要时可以将其移除,而不应保留空方法。使用onPageScroll时,尽量避免使用setData(),尽量减少使用setData()的频率。
小程序视图渲染结束回调?
使用setData(data,callback)在回调方法中添加后续操作代码。
使用小程序同步API和异步API的注意事项?
Wx.setStorageSync是一个同步API,API以Sync结束。使用时,try-catch用于检查异常。如果判断API是异步的,下一步可以在其回调方法success、fail和complete中执行。
微信小程序的数据请求怎么打包?
1.把所有接口放在一个统一的js文件中导出。
2.创建一个在app.js中封装请求数据的方法
3.调用子页中的封装方法来请求数据。
小程序和原生app哪个好?
除了微信官方账号开发成本低、获客成本低、无需下载的优势外,小程序在服务请求延迟和用户体验上有了很大的提升,使其能够承载复杂的服务功能,让用户获得更好的用户体验。
webview中的页面如何跳回小程序?
先来介绍一下最新版本的jweixin-x.x.x.js,然后
wx . mini program . navigate to({ URL: # 39;/pages/log in/log in # 39;+'$ params # 39})怎么才能})webview的页面跳转到小程序导航的页面?
小程序导航的页面可以通过switchTab访问,但默认情况下不会重新加载数据。要加载新数据,只需将以下代码添加到success属性中:
小程序调用后台接口会遇到什么问题?
1.数据的大小是有限制的。超出范围会直接导致整个小程序崩溃,除非重启小程序;
2.小程序无法直接渲染文章内容页面的html文本内容。如果需要显示和借用插件,插件的渲染会降低页面加载速度。所以,最好在后台过滤文章内容的html。后台直接处理P标签div标签批量替换为view标签,然后让插件做其他标签,减少前端时间。
微信小程序的优缺点?
优势:
1.不用下载,搜索扫描就能打开。
2.用户体验好:打开速度快。
3.开发成本比App低。
4.可以添加到Android上的桌面,类似于原生App。
5.为用户提供良好的安全性。对于小程序的发布,微信有严格的审核流程,审核不通过的小程序不能上线发布。
缺点:
1.有很多限制。页面大小不能超过1M。您不能打开5层以上的页面。
2.单一风格。小程序有些组件已经成型,风格无法修改。比如:幻灯片,导航。
3.推广范围窄,不能分享朋友圈。只能分享给朋友,附近的小程序会传播。附近的小程序也被微信限制了。
4.依托微信,后台管理功能无法开发。
【相关学习推荐:小程序开发教程】以上是基于小程序总结分享的一些面试问题,让你的面试稳操胜券!更多详情请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 如何实现小程序发送服务通知(小程序如何主动向用户发送通知)
- 如何获取小程序的unionid(如何获取小程序的页面路径)
- 生成海报的示例小程序(Java后端)(微信小程序生成海报演示)
- 什么是小程序? 有哪些功能?(什么是小程序?有哪些功能?)
- 介绍如何用小程序生成参数二维码(二维码+小程序参数)
本文由主机参考刊发,转载请注明:根据小程序总结一些面试问题,让你的面试稳操胜券!(微信面试问题小程序) https://zhujicankao.com/75452.html
评论前必须登录!
注册