微信小程序

1.微信小程序组件的生命周期

答案:

生命周期函数

-onload:页面加载

一个页面只会调用一次,可以在onLoad中获取打开当前页面所调用的query参数。

-onShow:页面显示

每次打开页面都会调用一次

-onReady:页面初次渲染完成

一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互.

-onHide:页面隐藏

当navigateTo或底层tab切换时调用.

-onUnload:页面卸载

2.简单描述下微信小程序的相关文件类型

答案:微信小程序项目结构主要有四个文件类型,如下

.json后缀的JSON配置文件

.wxml后缀的WXML模板文件

.wxss后缀的WXSS样式文件

.js后缀的JS脚本逻辑文件

3.app.json是对当前小程序的全局配置,讲序三个配置各个项的含义

答案:pages字段-----用于描述当前小程序所有页面路径,

这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。

window字段-----小程序所有页面的顶部背景颜色,文字颜色定义在这里的

tab字段----小程序全局顶部或底部tab

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

答案:

新像素单位:rpx

样式可直接使用import导入

5.小程序有哪些参数传值的方法

答案:给HTML元素添加data-*属性来传递我们需要的值,然后通过e.currentTarget.dataset

或onload的param参数获取。但data-名称不能有大写字母和不可以存放对象;

设置id的方法标识来传值通过e.currentTarget.id获取设置的id的值,然后

通过设置全局对象的方式来传递数值;在navigator中添加参数传值.

6.小程序有哪些参数传值的方法?

答案:

一、给HTML元素添加data-*属性来传递我们需要的值,然后通过e.currentTarget.dataset或

onload的param参数获取。但data-名称不能有大写字母和不可以存放对象

二、设置id的方法标识来传值通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象

的方式来传递数值

三、在navigator中添加参数传值

7.如何提高微信小程序的应用速度?

答案:

①提高页面加载速度

②用户行为预测

③减少默认data的大小

④组件化方案

8.微信小程序与H5的区别?

答案:第一条是运行环境的不同

传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行

环境并非完整的浏览器,是微信开发团队基于浏览器内核完全重构的

一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,

提升了小程序的性能。

第二条是开发成本的不同

只在微信中运行,所以不用再去顾虑浏览器兼容性,不用担心生产环境中出现不可预料的奇妙BUG

第三条:是获取系统级权限的不同

接系统级权限都可以和微信小程序无缝接。

9.小程序获取场景值的方法

let  options=wx.getLanchOptionsSync()

10.小程序onPageScroll方法的使用注意什么

由于此方法调用频繁,不需要时,可以去掉,不要保留空方法,并且使用onPageScroll时,

尽量避免使用setData(),尽量减少setData()的使用频次。

11.小程序视图渲染结束回调

使用setData(data,callback),在callback回调方法中添加后续操作代码

12.小程序同步API和异步API使用时注意事项

像wx.setStorageSync这种以Sync结尾的API为同步API,使用时使用try-catch来查看异常,

如果判定API为异步,可以在其回调方法success、fail、complete中进行下一步操作.

13.小程序对wx:if和hidden使用的的理解

wx:if 有更高的切换消耗

hidden 有更高的初始渲染消耗

因此,如果需要频繁切换的情景下,用hidden更好,

如果在运行时条件不大可能改变则wx:if较好。

14.小程序简单介绍下三种事件对象的属性列表

基础事件(BaseEvent)

type:事件类型

timeStamp:事件生成时的事件戳

target:触发事件的组件的属性值集合

currentTarget:当前组件的一些属性集合

自定义事件(CustomEvent)

detail

触摸事件(TouchEvent)

touches

changedTouches

15.小程序的双向绑定和vue的异同?

答案:大体相同,但小程序直接this.data的属性是不可以同步到视图的,

必须调用this.setData()方法.

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

答案:使用全局变量实现数据传递

页面跳转或重定向时,使用url带参数传递数据

使用组件模板template传递参数

使用数据库传递数据

17.小程序wxml与标准的html的异同?

答案:都是用来描述页面的结构;

都由标签、属性等构成;

标签名字不一样,且小程序标签更少,单一标签更多;

多了一些wx:if这样的属性以及{{}}这样的表达式

WXML仅能在微信小程序开发者工具中预览,儿HTML可以在浏览器内预览.

组件封装不同,WXML对组件进行了重新封装,小程序运行在JS Core内,

没有DOM树和window对象,小程序无法使用window对象和document对象.

18.小程序WXSS和CSS的异同?

答案:都是用来描述页面的样子;

WXSS具有CSS大部分的特性,也做了一些扩充和修改;

WXSS新增了尺寸单位,WXSS在底层支持新的尺寸单位rpx;

WXSS仅支持部分CSS选择器;

WXSS提供全局样式与局部样式

 

原文地址:https://www.cnblogs.com/sna-ling/p/12488411.html