第一章
- 微信小程序是运行在__微信__之上的应用。
- 微信小程序开发完成后需要通过“上传”按钮将代码上传到_ 小程序管理后台_。
- 微信小程序项目中的____app.json__文件是全局配置文件。
- 微信开发者工具中用于保存文件的快捷键是__Ctrl+s____。
- 每个页面由4个文件组成,分别是__WXML_、_JSON_、__WXSS_和JS__
- 在小程序中,AppID是每个小程序的唯一标识,每个小程序账号只有一个AppID。
- 微信小程序项目中app.js文件是全局样式文件。( 错 )
- 通常称微信客户端为微信小程序提供的环境为微信小程序的宿主环境。
- 微信小程序具有无须安装、触手可及、用完即走、无须卸载等特点。
- 项目成员表示参与微信小程序开发、运行的成员。
- 下列选项中,关于微信小程序说法错误的是。
A.微信小程序是运行在微信之中应用
B.微信小程序的体积非常小
C.微信小程序不可以跨平台
D.通过“扫一扫”或“搜一搜”即可打开对应的微信小程序
- 下列选项中,不属于微信小程序特点的是。
A.无须安装 B.无须卸载
C.体积大 D.入口丰富
- 下列选项中,用于在微信开发者工具中输出调试信息的面板是。
A.Wxml B.Console
C.Sources D.Network
- 下列选项中,关于微信小程序项目目录结构说法错误的是。
A.pages目录用于存放所有微信小程序的页面
B.app.wxss文件定义了微信小程序项目的全局样式
C.sitemap.json文件是微信小程序项目的全局配置文件
D.app.js文件是微信小程序项目的入口文件
- 下列选项中,关于微信开发者工具说法错误的是。
A.工具栏“预览”按钮用于在微信中进行预览
B.菜单栏中“文件”项的主要作用是新建文件、保存文件或关闭文件等
C.模拟器可以模拟小程序在微信客户端的运行效果
D.编辑器中只能打开一个文件
- 请简述微信小程序的特点。
微信小程序具有无须安装、触手可及、用完即走、无须卸载的特点。用户在使用微信小程序时无须安装,直接使用,不占用存储空间;在使用微信小程序后,可以用完即走,无须卸载。除此之外,微信小程序还具有名称唯一、入口丰富和传播能力强等特点。
- 请简述微信小程序项目的创建过程。
- 首次打开微信开发者工具时,会出现一个登录界面,在登录界面中,可以使用微信扫码登录微信开发者工具,微信开发者工具将使用这个微信账号的信息进行微信小程序的开发和调试。
- 使用微信扫码登录成功后会进入微信开发者工具的项目选择界面,单击“+”进入微信小程序项目的创建页面。将微信小程序项目的创建页面中项目名称、目录、AppID、开发模式、后端服务和模板选择等内容填写完成后,单击“确定”按钮创建微信小程序项目。
第二章
- image组件的 mode 属性用于设置图片的展示模式。
- swiper组件内部只可以放置 swiper-item 组件。
- 在Flex布局中, flex-direction 属性能够设置项目在主轴方向的排列方式。
- text组件的 user-select 属性用于实现长按选中文本内容的效果。
- 在实现底部标签栏时,tabBar配置项应在 app.json 文件中设置。
- 判断题
- 给父元素设置display:flex后,可以使用flex的相关属性,例如通过flex-direction属性设置主轴方向。
- 微信小程序中样式文件为WXSS文件,只支持rpx一种尺寸单位。
- swiper组件可以实现页面的轮播图效果。
- video组件专门用于播放音频。
- 下列选项中,用于配置微信小程序所有的页面地址的文件是
A. app.js B. app.json C. app.wxss D. project.config.json
- 下列选项中,不属于表单组件的是
A. input组件 B. checkbox组件 C. form组件 D. swiper组件
- 下列选项中,不属于Flex布局的是
- display:flex;
- flex:1;
- float:left;
- flex-flow:column nowrap;
- 下列选项中,app.json文件中的tabBar配置项最多允许的页数为。
A. 3 B. 4 C. 5 D. 6
- 简述WXML和HTML的区别。
WXML和HTML的区别主要有以下5个方面。
- HTML和WXML使用的标签不同。例如,HTML经常使用<div>标签搭建页面结构,而WXML则使用<view>标签搭建页面结构;HTML经常使用<span>标签定义行内文本 ,而WXML则使用<text>标签定义行内文本 。
- WXML提供了和Vue.js中模板语法类似的模板语法,例如数据绑定、列表渲染、条件渲染等,而HTML中没有。
- HTML页面可以在浏览器中预览,而WXML页面仅能在微信客户端和微信开发者工具中预览。
- WXML中的单标签必须在结尾“>”前面加上“/”,否则微信开发者工具会报语法错误,而HTML中允许省略单标签“>”前面的“/”。
- WXML中所使用的标签是微信小程序定义的标签,应避免使用HTML标签,这样才能保证页面被正确转译。
- 简述WXSS和CSS的区别。
WXSS和CSS的区别主要有以下3个方面。
- 不同的手机屏幕分辨率不同,如果用CSS中的px单位,会遇到屏幕适配的问题,需要手动进行像素单位换算。而微信小程序提供了一个新的单位rpx,使用rpx单位可以很轻松地适配各种手机屏幕。
- 在微信小程序中,项目根目录中的app.wxss文件作为全局样式,会作用于当前微信小程序的所有页面,而局部页面的WXSS样式仅对当前页面生效,CSS则没有这样的功能。
- 在WXSS中设置背景图片的时候,可以使用网络图片或者以Base64格式编码的图片,不能使用本地图片,例如,“background-image:url('/images/1.png');”是无效的,而CSS可以使用本地图片来设置背景图片。
- 简述Flex布局的概念。
Flex布局又称为弹性盒(Flexible Box)布局,它为盒子模型提供了很强的灵活性,任何一个容器都可以指定为Flex布局。采用Flex布局的元素,称为Flex容器(简称容器)。 它的所有子元素自动成为容器成员,称为Flex项目(简称项目)。容器内有两根轴:主轴(Main Axis)和交叉轴(Cross Axis), 默认情况下主轴为水平方向,交叉轴为垂直方向,项目默认沿主轴排列,根据实际需要可以更改项目的排列方式。
第三章
- 在页面结构渲染过程中,通过 wx:if 控制属性完成页面的条件渲染。
- 在列表渲染中,通过 wx:for 控制属性可以循环数组中的每一项。
- 在列表渲染中,使用 wx:for-item 可以指定当前项的变量名。
- 在JS文件中,通过 e.target.dataset 获取data-*自定义属性的值。
- 在微信小程序中,页面加载完成后执行的生命周期函数为 onLoad() 。
- 判断题
- 在微信小程序中,可以通过data-*自定义属性来进行传参。
- 所有绑定的数据都必须在data中进行初始化。
- 设置enablePullDownRefresh为false时,表示禁止下拉。
- 通过调用wx.request()方法可以发起网络请求。
- 通过调用wx.showLoading()方法可以弹出加载提示框。
- 下列选项中,关于列表渲染说法正确的是。
- wx:for-index可以用于重新定义当前项的变量名
- 在列表渲染中,可以使用item变量获取当前项的值
- wx:for可以用于实现页面中的列表渲染
- wx:for-item可以用于设置当前索引变量的属性名
- 下列选项中,用于监听页面初次渲染成功的回调函数是。
A. onHide B. onLoad C. onShow D. onReady
- 下列选项中,可以在wx:for中指定当前项索引的变量名的一项是。
A. wx:for-i B. wx:for-j C. wx:for-item D. wx:for-index
- 下列选项中,wx.showToast()函数的参数属性中包含的回调函数有。
A. title、icon和mask
B. success、fail和title
C. duration、mask和success
D. success、fail和complete
- 下列选项中,将页面的JS文件中定义的数据绑定到页面上的语法是。
A. {{ }} B. [ ] C. { } D. [[ ]]
- 简述页面生命周期函数包括哪些。
页面生命周期回调函数包含以下5个。
- onLoad()函数用于监听页面加载,且一个页面只会在创建完成后触发一次。
- onShow() 函数用于监听页面显示,只要页面显示就会触发此函数。
- onReady()函数用于监听页面初次渲染完成,一个页面只会调用一次。
- onHide()函数用于监听页面隐藏,只要页面隐藏就会触发此函数。
- onUnload()函数用于监听页面卸载,只要页面被释放就会触发此函数。
- 简述wx:if和hidden的区别。
wx:if和hidden不同之处在于,wx:if初始渲染条件为false,只有条件第一次变为true的时候才开始渲染,而hidden所在的组件始终会被渲染,只是简单的控制显示与隐藏。
一般来说,wx:if有更大的切换开销而hidden有更高的初次渲染开销。因此,在需要频繁切换的情境下,用hidden更好,而如果运行时条件不太可能会改变,用wx:if更好。
3. 简述微信小程序如何实现下拉刷新。
微信小程序实现下拉刷新分为2个步骤。
- 开启下拉刷新。在app.json的window节点中或在页面的JSON文件中,将enablePullDownRefresh设置为true。
- 调用onPullDownRefresh()事件处理函数实现下拉操作执行时的操作。
4. 简述微信小程序如何实现上拉触底。
微信小程序提供onReachBottom()事件处理函数,即页面上拉触底事件处理函数,用于监听当前页面的上拉触底事件。
在默认情况下触发上拉触底事件时,滚动条距离页面底部的距离为50px,即上拉触底距离为50px。在实际开发中,可以根据实际需求修改默认值。可以在全局或页面的JSON配置文件中,通过onReachBottomDistance属性来修改上拉触底的距离。
第四章 微信小程序常用API(上)
- 上传文件的API是 wx.uploadFile() 。
- 下载文件的API是 wx.downloadFile() 。
- scroll-view组件可以实现 滚动 效果。
- 在scroll-view组件中,用 scroll-left 属性用于设置横向滚动条的位置。
- 在slider组件的属性中, max 属性用于设置进度条的最大值。
- 判断题
- 在canvas组件中,canvas-id属性是其唯一标识符。
- 在<slider>组件上添加bindchanging="sliderChanging"后,当滑块被拖曳时就会执行sliderChanging()事件处理函数。
- canvas组件将type属性值设置为2D表示使用Canvas 2D接口。
- 文件上传API使用的方法是wx.uploadFile()。
- 下列选项中,用于滑动选择某一个值的组件是。
A. view B. slider C. input D. audio
- 下列BackgroundAudioManager实例的方法中,可以将音乐跳转到指定位置的是。
A. stop() B. seek() C. pause() D. play()
- 下列关于canvas组件的说法中,错误的是。
- CSS动画对canvas组件无效
- canvas-id是canvas组件的唯一标识符
- canvas组件用于自定义绘制图形
- 在同一个页面中,canvas-id是唯一的
- 下列选项中,关于wx.getRecorderManager()方法说法错误的是。
- start()方法表示开始录音
- pause()方法表示暂停录音
- resume()方法表示继续录音
- onError()方法表示停止录音,点击开始录音后会从中断的地方接着继续录音
- 简述BackgroundAudioMauager实例的属性和方法。
BackgroundAudioMauager实例的常用属性包含src(背景音频的数据源)、startTime(背景音频开始播放的位置)、title(背景音频标题)、duration(当前背景音频的长度)、currentTime(当前背景音频的播放位置)和paused(当前是否暂停或停止)。
BackgroundAudioMauager实例的常用方法包含play()(播放背景音频)、pause()(暂停背景音频)、seek()(跳转到指定位置)和stop()(停止背景音频)。
- 简述使用画布API进行绘图的基本步骤。
若要使用画布API,需要先获取Canvas实例,然后通过Canvas实例获取RenderingContext(渲染上下文)实例,最后通过RenderingContext实例的属性和方法完成绘图操作。
- 简述如何实现文件上传和文件下载。
微信小程序提供了文件上传API,通过调用wx.uploadFile()方法可以实现文件上传;同时也提供了文件下载API,通过调用wx.downloadFile()方法即可使用文件下载API。
第五章 微信小程序常用API(下)
- 从本地缓存中异步获取指定key的内容使用 wx.getStorage() 方法。
- 微信小程序通过 wx.login() 方法获取登录凭证code。
- 微信接口服务返回的信息中,session_key是用户的会话密钥,存储在开发者服务器中。
- map组件中地图视野发生变化时触发 bindregionchange 事件。
- 在Animation实例的常用方法中, export() 用于导出动画队列。
- 微信小程序通过 wx.connectSocket() 方法创建一个WebSocket连接。
- 微信小程序通过 send() 方法可以通过WebSocket发送数据。
- 微信小程序通过 onMessage() 方法监听WebSocket接收到服务器的消息事件。
- 判断题
- 在微信小程序中,调用wx.login()方法可以获取临时登录凭证code。
- 同一个微信用户在AppID不同的微信小程序中的openid是不同的。
- openid是微信小程序的唯一标识。
- 使用wx.setStorageSync()方法可以将数据同步存储在本地缓存指定的key中。
- animation.export()方法每次调用后仍保留之前的动画操作。
- 下列选项中,用于实现非标签页之间的跳转的方法是。
- wx.navigateTo()
- wx.navigate()
- wx.navigatorTo()
- wx.navigator()
- 下列选项中,关于map组件属性说法错误的是。
- longitude为中心经度
- scale为缩放级别,取值范围为1~20
- latitude为中心纬度
- markers为标记点数组
- 下列选项中,关于openid的说法错误的是。
- openid是用户的唯一标识
- openid不等同于微信用户id
- 同一个微信用户在不同AppID的微信小程序中的openid是不同的
- openid是微信小程序的唯一标识
- 下列选项中,关于marker对象的属性说法错误的是( )。
- title标注点名称
- zIndex表示显示层级
- alpha表示标注的透明度
- userInfo表示用户信息对象
- 下列选项中,关于数据缓存说法错误的是。
- wx.getStorage()方法用于从本地缓存中异步获取指定key内容
- wx.removeStorageSync()方法用于以异步的方式从本地缓存中移除指定key
- wx.setStorage()方法用于将数据异步存储在本地缓存指定的key
- 在实现数据缓存的方法中,方法名以Sync结尾的都是同步方法
- 简述如何获取Animation实例。
通过wx.createAnimation()方法可以获取Animation实例。
- 简述微信小程序中应用生命周期回调函数onLaunch()、onShow()、onError()、onHide()和onPageNotFound()的作用。
- onLaunch():监听微信小程序初始化,微信小程序初始化完成时触发,全局只触发一次。
- onShow():监听微信小程序启动或切前台,微信小程序启动或从后台进入前台时触发。
- onError():错误监听函数,微信小程序脚本错误或者API调用报错时触发。
- onHide():监听微信小程序切后台,微信小程序从前台进入后台时触发。
- onPageNotFound():页面不存在监听函数,微信小程序要打开的页面不存在时触发。
- 简述如何创建WebSocket连接。
使用wx.connectSocket()方法创建WebSocket连接。
第六章 综合项目——“点餐”微信小程序
- 在进行商家首页中间区域开发时,使用 wx.navigateTo()方法实现跳转到菜单列表页。
- 在进行实现支付区域开发时,使用 wx.showToast() 方法显示消息提示框。
- 微信小程序提供的 wx.hideLoading() 方法可以隐藏加载提示。
- 微信小程序提供的 onPullDownRefresh() 属性可以实现下拉刷新。
- 在当前页面隐藏导航条加载动画使用的方法是 wx.hideNavigationBarLoading() 。
- 判断题
- 使用require(路径)函数引入模块代码时,不可以使用绝对路径。()
- 使用wx.navigateTo()方法不能跳转到标签页。()
- <block>标签不会在页面中做任何渲染。()
- wx.showLoading()方法用于显示加载提示。()
- 在使用wx:for实现页面列表渲染时,key表示每一项的唯一标识。()
- 下列选项中,用于配置微信小程序所有的页面地址的文件是
A.app.js B. app.json C. app.wxss D.project.config.json
- 下列选项中,关于swiper组件的用法描述错误的是()。
A.若indicatorDots属性设置为false,则显示面板指示点
B.autoplay属性用于设置图片是否自动切换
C.interval属性用于设置自动切换的时间间隔
D.duration属性用于设置滑动动画时长
- 下列关于wx.request()方法常见选项的说法中,正确的是()。
A.method为HTTP请求方式,默认值为POST
B.url为开发者服务器接口地址
C.complete()回调函数只有在调用成功之后才会执行
D.responseType为返回的数据格式,默认值为json
- 下列关于Flex布局的说法中,错误的是()。
A.行内元素也可以使用Flex布局
B.设为Flex布局以后,子元素的float属性依然起作用
C.任何一个容器都可以指定为Flex布局
D.采用Flex布局的元素,称为Flex容器
- 简述微信小程序中实现页面之间切换的wx.navigateTo()、wx.redirectTo()和wx. switchTab()方法的区别。
- wx.navigateTo():用于跳转到另一个页面,跳转后,原来的页面会保留,并在导航栏左侧提供一个返回按钮,用户可以返回到之前的页面。微信小程序中的页面栈最大限制为10层。该方法不能用于标签页切换。
- wx.redirectTo():用于关闭当前页面,跳转到一个新页面。该方法不能用于标签页切换。
- wx.switchTab():用于跳转到某个标签页,并关闭其他所有非标签页的页面。
- 简述微信小程序的登录流程。
- 在微信小程序中通过wx.login()方法获取临时登录凭证code。
- 在获取code后,使用wx.request()方法将code发送给开发者服务器。
- 开发者服务器将appid、appsecret和code发送给微信接口服务进行登录凭证校验,如果校验成功,微信接口服务会返回session_key、openid、unionid等信息。
- 在用户登录成功时,开发者服务器需要将用户的openid和session_key保存,然后生成一个对应的token响应给微信小程序。微信小程序下次请求时,需要携带token。当开发者服务器收到的请求后,需要使用当前请求携带的token查询对应的用户的openid和session_key,如果能查询到,说明用户已登录。
第七章 微信小程序开发进阶
- 自定义组件的JS文件中调用的是 Component() 函数。
- 在微信小程序的WXML中,通过 navigator 组件可以实现页面之间的跳转。
- 在使用uni-app框架搭建的小程序项目中,项目的入口文件是 main.js 。
- navigator组件的 open-type 属性用于指定跳转方式。
- 自定义组件的引用方式分为 局部引用 和 全局引用。
- 判断题
- 自定义组件的JS文件中调用的是Component()函数。
2. uni-app是使用Vue.js开发的一个前端框架。( )
3. 开发者可以将页面内的重复功能模块抽象成自定义组件,以便在不同的页面中重复使用。( )
4. 在微信小程序中,可以通过useExtendedLibs扩展库引入WeUI组件库。( )
- 在使用uni-app框架搭建的小程序项目中,main.js文件为页面的入口文件。( )
- 下列选项中,关于open-type合法值说法错误的是。
- navigate可以跳转到应用内的某个页面,会关闭当前页面
- redirect可以跳转到应用内的某个页面,但是不允许跳转到tabBar页面
- switchTab可以跳转到tabBar页面
- exit表示退出微信小程序
- 下列选项中,关于uni-app项目中文件及文件夹说法错误的是。
- pages用于存放所有页面的目录
- main.js文件为应用的配置文件,用于指定应用名称
- App.vue文件是页面的根组件
- static文件夹用于存放静态资源文件
- 下列选项中,关于navigator组件说法错误的是。
A.navigator组件常用于实现页面之间的跳转。
B.navigator组件的target属性用于设置在哪个目标上可以跳转
C.navigator组件的url属性用于设置当前小程序内的跳转链接
D.navigator组件的open-type属性用来指定跳转方式,默认值为“switchTab”
- 下列选项中,关于uni-app框架说法错误的是。
A. uni-app框架支持的平台包括iOS、Android、响应式Web及各种主流的小程序
B.uni-app框架是使用React开发的一个前端框架
C.使用uni-app框架进行开发能做到“一套代码,多端发行”
D.uni-app框架支持微信小程序自定义组件及SDK
- 下列选项中,关于自定义组件说法错误的是。
A.一个自定义组件是由JSON、JS、WXML和WXSS这4个文件组成的
B.自定义组件的JSON文件中需要添加component属性,将属性值设为true,表示是一个组件
C. 自定义组件的JS文件中调用的是Page()函数
D. 通过添加usingComponents属性实现在页面中引用自定义组件
- 简述自定义组件的创建和使用方法。
创建自定义组件的步骤如下:
- 打开微信开发者工具,创建一个新项目或打开现有项目。
- 在项目根目录中右键单击,选择“新建文件夹”,输入新文件夹的名称“components”,按回车键确认。
- 在components文件夹上右键单击,选择“新建文件夹”,输入新文件夹的名称,例如“test”,按回车键确认。
- 在test文件夹上右键单击,选择“新建Component”,然后输入组件的名称,例如“test”,按回车键确认,即可完成自定义组件的创建。
使用自定义组件的步骤如下。
- 使用局部引用的方式引入自定义组件,方法如下。
首先,在pages/index/index.json文件中添加引用自定义组件的代码;
- "usingComponents": {
- "text": "/components/test/test "
- }
然后,在pages/index/index.wxml文件中通过组件的标签名使用组件。
- <text></text >
- 使用全局引用的方式引用自定义组件,方法如下。
首先,在全局配置文件app.json文件中添加引用自定义组件的代码。
- "usingComponents": {
- "text": "/components/test/test "
- }
然后,在需要使用自定义组件的pages/index/index.wxml文件中,通过组件的标签名使用组件。
- <text></text >
- 简述通过useExtendedLib扩展库的方式引入WeUI组件库的方式。
在app.json中添加配置代码。
- "useExtendedLib": {
- "weui": true
- },
- 简述navigator组件的open-type属性的合法值及作用。
- navigate :保留当前页面,跳转到应用内的某个页面。但是不能跳到tabBar页面。
- redirect:关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到tabBar页面。
- switchTab:跳转到tabBar页面,并关闭其他所有非tabBar页面。
- reLaunch:关闭所有页面,打开到应用内的某个页面。
- navigateBack:关闭当前页面,返回上一页面或多级页面。
- exit:退出微信小程序,target属性值为miniProgram时生效。
- 简述uni-app框架的优点。
- 平台能力不受限。使用uni-app框架进行开发能做到“一套代码,多端发行”。
- 性能体验优秀。加载新页面速度快,可以自动更新数据。
- 基于通用技术栈,学习成本低。uni-app框架基于前端开发中比较通用的Vue.js技术栈,使开发人员不必增加学习成本。如果读者还没有学过Vue.js,建议学习Vue.js之后再学习uni-app框架。
- 具有开放的生态且组件更丰富。例如,支持通过npm安装第三方包,支持微信小程序自定义组件及SDK,支持微信生态的各种SDK
第八章 uni-app项目——“短视频”微信小程序
- 在使用Flex布局时,首先要设置父元素的display属性为 flex ,然后才可以使用Flex容器和Flex项目的相关属性。
- 微信小程序中的按钮通过 button 组件来实现。
- 微信小程序中能够使视图横向滚动的组件是 scroll-view 。
- 微信小程序中页面加载时执行的函数为 onLoad() 。
- 微信小程序的配置文件为 app.json 。
- 判断题
- uni-app框架可以在pages.json文件中设置页面导航栏的标题。()
- 在uni-app项目中,通过调用uni.navigateTo()方法可以实现页面的跳转()
- 微信小程序中wx:for能够实现列表渲染,并且可以嵌套使用。
- uni-app框架支持多端开发。
- 在使用wx:for时,绑定wx:key属性可以提高渲染列表的效率。
- 下列选项中,用于在微信小程序中实现点击事件的是
A. bindinput B. bindsubmit C. bindreset D. bindtap
- 下列选项中,不属于scroll-view组件属性的是。
A. scroll-x B. scroll-top C. bindscroll D. current
- 下列选项中,navigator组件中用于区分不同跳转功能的属性是。
- open-type B. target C. url D. dalta
- 下列选项中,关于uni-app框架中pages.json全局配置文件的说法错误的是。
- 可以决定页面文件的路径、导航栏、底部标签栏
- 可以通过添加pages配置项设置页面路径以及导航栏标题
- 可以通过添加globalStyle配置项设置局部样式
- pages配置项是一个数组,数组中的每个元素表示一个页面
- 在uni-app项目中,用于更改导航栏标题的属性是
A. navigationBarTextStyle B. navigationBarTitleText
C. navigationBarBackgroundColor D. backgroundColor
- 简述微信小程序的页面组成。
一个微信小程序是由一个或多个页面组成的,这些页面被存放在pages目录中。每个页面由JS、JSON、WXML和WXSS组成。
- 简述如何在uni-app项目中设置页面路径。
在uni-app项目中的pages.json文件中,设置页面路径。示例代码如下。
"pages": [
{
"path": "页面路径",
"style": {
"navigationBarTitleText": "导航栏标题"
}
}
],