小程序常见知识点汇总

2022-07-14 20:54:28 浏览数 (2)

基尔霍夫定律 KCL KVL 分压定律 分流电路 U=RI W=UIt

小程序生命周期

  • 生命周期函数-onLoad: 页面加载
    • 一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数。
  • onShow: 页面显示
    • 每次打开页面都会调用一次。
  • onReady: 页面初次渲染完成
    • 一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
  • onHide: 页面隐藏
    • 当navigateTo或底部tab切换时调用
  • onUnload: 页面卸载

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

  • .json 后缀的 JSON 配置文件
  • .wxml 后缀的 WXML 模板文件
  • .wxss 后缀的 WXSS 样式文件
  • .js后缀的 JS 脚本逻辑文件

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

  • pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。
  • window字段 —— 小程序所有页面的顶部背景颜色,文字颜色定义在这里的
  • tab字段—小程序全局顶部或底部tab

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

  • 新像素单位 rpx样式可直接使用import导入

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

  • 给HTML元素添加data-属性来传递我们需要的值,然后通过e.currentTarget.dataset或onload的param参数获取。但data-名称不能有大写字母和不可以存放对象;
  • 设置id 的方法标识来传值通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式来传递数值;
  • navigator中添加参数传值。

微信小程序与H5的区别?

  • 第一条是运行环境的不同传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器,是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,提升了小程序的性能。
  • 第二条是开发成本的不同 只在微信中运行,所以不用再去顾虑浏览器兼容性,不用担心生产环境中出现不可预料的奇妙BUG
  • 第三条是获取系统级权限的不同 接系统级权限都可以和微信小程序无缝衔

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

  • 由于此方法调用频繁,不需要时,可以去掉,不要保留空方法,并且使用onPageScroll时,尽量避免使用setData(),尽量减少setData()的使用频次

小程序视图渲染结束回调?

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

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

  • 像wx.setStorageSync这种以Sync结尾的API为同步API,使用时使用try-catch来查看异常,如果判定API为异步,可以在其回调方法success、fail、complete中进行下一步操作

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

  • wx:if 有更高的切换消耗
  • hidden 有更高的初始渲染消耗
  • 因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

小程序兼容问题

  • ios下的zIndex层级问题,主要发生在iphone7和iphoneX下
    • 当页面元素是绝对定位的时候,设置层级的时候,必须在绝对定位元素都在一个<view>标签下,如果元素在两个标签下,层级不生效
    • 如果是上面这种结构,z-index 可能在ios下,不生效,要想生效,需要将改成嵌套的结构
  • new Date() 时间格式不兼容
  • 小程序 跟 企业微信 的兼容问题
    • 引入echart的问题
    • 使用cover-view

小程序全局实例getApp 安卓有时候获取不到自定义事件

  • 解决方案:
    • 将自定义事件独立出来,在页面需要的时候使用Object.assign(app,tools)进行合并

自定义组件

  • 圆形百分比 background 渐变

javascript基础知识总结

0 人点赞