小程序基础面试题

小编推荐:Fundebug专注于JavaScript、微信小程序、微信小游戏,Node.js和Java实时BUG监控。真的是一个很好用的bug监控费服务,众多大佬公司都在使用。

  • app.json 还可以设置哪些功能?
    debug、functionalPages、subpackpages、workers、requirebackgroundmodes、plugins、preloadRule、resizable、navigatetominiprogramappidlist
  • window设置旋转属性方法
    pageorientation: auto、portrait
  • 小程序监听界面显示、隐藏、后台、前台方法
    ① 根据声明周期函数 ② 还可以根据系统提供API监听方法,如:wx.appOnShow()
  • 获取场景值的方法
    let options = wx.getLanchOptionsSync()
  • onPageScroll方法的使用注意什么
    由于此方法调用频繁,不需要时,可以去掉,不要保留空方法,并且使用onPageScroll时,尽量避免使用setData(),尽量减少setData()的使用频次。
  • 视图渲染结束回调
    使用setData(data, callback),在callback回调方法中添加后续操作代码
  • 对模块化的理解
    将公共的代码抽离出一个单独的js文件,作为一个模块。模块只有通过module.exports或exports才能对外暴露接口。举例:
function sayHello(){
console.log('hello!')
}
function sayGoodbye(){
console.log('goodbye!')
}
module.exports.sayHello = sayHello;
exports.sayGoodbye = sayGoodbye;
// 或者
// module.exports = {
// sayHello: sayHello,
// sayGoodbye: sayGoodbye
// }
  • 同步API和异步API使用时注意事项
    像wx.setStorageSync这种以Sync结尾的API为同步API,使用时使用try-catch来查看异常,如果判定API为异步,可以在其回调方法success、fail、complete中进行下一步操作。
  • 对wx:if 和 hidden使用的理解
    wx:if 有更高的切换消耗。
    hidden 有更高的初始渲染消耗。
    因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。
  • 简单介绍下三种事件对象的属性列表
    基础事件(BaseEvent)
    type: 事件类型
    timeStamp:事件生成时的时间戳
    target:触发事件的组件的属性值集合
    currentTarget:当前组件的一些属性集合
    自定义事件(CustomEvent)
    detail
    触摸事件(TouchEvent)
    touches
    changedTouches
  • 组件间的共享特性怎么处理
    组件间代码的共享行为适用behaviors构造器定义。
//定义:
module.exports = Behavior({
……
})
//使用:
const myBehavior = require('my-behavior')
Component({
  behaviors: [myBehavior],
  ……
})
  • 自定义组件有哪些优点?
    ① 开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;
    ② 也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。

  • 监听组件引入和移除方法?

Component({
  lifetimes: {
    attached() {
      // 在组件实例进入页面节点树时执行
    },
    detached() {
      // 在组件实例被从页面节点树移除时执行
    },
  },
  // 以下是旧式的定义方式,可以保持对 <2.2.3 版本基础库的兼容
  attached() {
    // 在组件实例进入页面节点树时执行
  },
  detached() {
    // 在组件实例被从页面节点树移除时执行
  },
  // ...
})

持续更新完善中,有问题请大家评论区留言……


作者:恩来客
链接:https://www.jianshu.com/p/f3b76d079176

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了9亿+错误事件,得到了Google、360、金山软件、百姓网等众多知名用户的认可。欢迎免费试用!

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 请简述小程序的生命周期? 小程序的生命周期包括:onLaunch(小程序初始化)、onShow(小程序显示)、onHide(小程序隐藏)、onError(小程序错误)、onPageNotFound(页面不存在)、onUnlaunch(小程序未初始化)等。 2. 请简述微信小程序中的组件和API? 微信小程序中的组件包括:视图容器、基础内容、表单组件、媒体组件、地图、画布、开放能力等。 微信小程序中的API包括:网络、媒体、文件、数据缓存、位置、设备、界面、开放接口等。 3. 请简述微信小程序中的事件绑定和事件传递? 事件绑定是指将事件处理函数与组件或页面中的某个事件绑定在一起,当该事件被触发时,相应的事件处理函数就会被调用。 事件传递是指在组件嵌套的情况下,事件可以通过事件冒泡或事件捕获机制向上或向下传递。在事件冒泡机制中,子组件的事件会向上冒泡到父组件,直到被处理为止;在事件捕获机制中,父组件的事件会向下捕获到子组件,直到被处理为止。 4. 请简述微信小程序中的数据绑定和列表渲染? 数据绑定是指将数据与页面中的某个元素绑定在一起,当数据发生变化时,相应的页面元素也会随之变化。 列表渲染是指将数据列表渲染成一个个的元素,并将每个元素与数据中的某个属性绑定在一起,实现数据的动态展示。 5. 请简述微信小程序中的路由和页面传参? 路由是指通过跳转页面实现页面之间的切换。微信小程序中的路由API包括:wx.navigateTo、wx.redirectTo、wx.reLaunch、wx.switchTab。 页面传参是指在跳转页面时,将数据传递给目标页面,目标页面可以通过页面参数获取传递的数据。微信小程序中的页面传参方式包括:query参数、url参数、全局数据、事件通信等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值