前端小程序面试题(一)

2023-11-03

首先说一些为什么总结小程序相关的面试题吧

我们可以随便打开一个招聘网站,在那里你会发现市场对于小程序的需求还是蛮高的,有些公司可能就只需要写小程序的前端人员

虽然小程序的开发很大一部分都是很简单的,但是有些常用的东西还是有必要了解一下的。故此,有了这样一篇小程序面试题的总结。当然感兴趣或者有需要的小伙伴也可以 点击这里,查看完整版前端面试题

如果文章中有出现纰漏、错误之处,还请看到的小伙伴留言指正,先行谢过

以下 ↓

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

微信小程序项目结构主要有四个文件类型
  • WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。内部主要是微信自己定义的一套组件
  • WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式
  • js 逻辑处理,网络请求
  • json 小程序设置,如页面注册,页面标题及tabBar
主要文件
  • app.json 必须要有这个文件,如果没有这个文件,项目无法运行,因为微信框架把这个作为配置文件入口,整个小程序的全局配置。包括页面注册,网络设置,以及小程序的 window 背景色,配置导航条样式,配置默认标题
  • app.js 必须要有这个文件,没有也是会报错!但是这个文件创建一下就行 什么都不需要写以后我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量
  • app.wxss 可选

2. 简述微信小程序原理

微信小程序采用  JavaScriptWXMLWXSS 三种技术进行开发,本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口

微信的架构,是数据驱动的架构模式,它的 UI 和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现

小程序分为两个部分 webview 和 appService 。其中 webview 主要用来展现 UI appService 有来处理业务逻辑、数据及接口调用。它们在两个进程中运行,通过系统层 JSBridge 实现通信,实现 UI 的渲染、事件的处理

3. 小程序的双向绑定和vue哪里不一样

小程序直接 this.data 的属性是不可以同步到视图的,必须调用:

this.setData({
    // 这里设置
})

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

WXSS 和  CSS 类似,不过在  CSS 的基础上做了一些补充和修改

 

  • 尺寸单位 rpx
  • rpx 是响应式像素,可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。如在 iPhone6 上,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素

  • 使用 @import 标识符来导入外联样式。@import 后跟需要导入的外联样式表的相对路径,用;表示语句结束
  • /** index.wxss **/
    @import './base.wxss';
    
    .container{
        color: red;
    }

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

  • 使用全局变量实现数据传递
  • 在 app.js 文件中定义全局变量 globalData, 将需要存储的信息存放在里面

    // app.js
    
    App({
         // 全局变量
      globalData: {
        userInfo: null
      }
    })

    使用的时候,直接使用 getApp() 拿到存储的信息

  • 使用 wx.navigateTo 与 wx.redirectTo 的时候,可以将部分数据放在 url 里面,并在新页面 onLoad 的时候初始化
  • //pageA.js
    
    // Navigate
    wx.navigateTo({
      url: '../pageD/pageD?name=raymond&gender=male',
    })
    
    // Redirect
    wx.redirectTo({
      url: '../pageD/pageD?name=raymond&gender=male',
    })
    
    
    // pageB.js
    ...
    Page({
      onLoad: function(option){
        console.log(option.name + 'is' + option.gender)
        this.setData({
          option: option
        })
      }
    })

    需要注意的问题:

    wx.navigateTo 和 wx.redirectTo 不允许跳转到 tab 所包含的页面

    onLoad 只执行一次

  • 使用本地缓存 Storage 相关
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端小程序面试题(一) 的相关文章

  • SAR成像系列:【12】层析合成孔径雷达(层析SAR,Tomographic SAR,TomoSAR)

    自1995年Knaell为解决曲线SAR成像结果中的强旁瓣问题 将二维计算机断层 Computed Tomography 成像技术扩展到三维空间 并通过投影切片理论和后向投影算法获得了雷达成像三维空间的点响应函数 从而为分析三维成像分辨率和
  • __declspec(dllimport)的理解

    declspec dllimport MSDN中说明 不使用 declspec dllimport 也能正确编译代码 但使用 declspec dllimport 使编译器可以生成更好的代码 编译器之所以能够生成更好的代码 是因为它可以确定
  • windows 查看端口占用

    1 开始 运行 cmd 调出命令窗口 2 输入命令 netstat ano 列出所有端口的情况 在列表中我们观察被占用的端口 比如是49153 首先找到它 3 查看被占用端口对应的PID 输入命令 netstat aon findstr 4

随机推荐

  • 【云计算网络安全】解析DDoS攻击:工作原理、识别和防御策略

    文章目录 一 前言 二 什么是 DDoS 攻击 三 DDoS 攻击的工作原理 四 如何识别 DDoS 攻击 五 常见的 DDoS 攻击有哪几类 5 1 应用程序层攻击 5 1 1 攻击目标 5 1 2 应用程序层攻击示例 5 1 3 HTT
  • 打穿sqli-labs靶场第五天(less-7)文件写入

    打穿sqli labs靶场第五天 less 7 文件写入 环境配置 该关卡需要用到文件写入操作 所以需要开启MySQL中的文件写入 进入MySQL下的bin目录 用命令行连接数据库 查看是否开启文件写入 show variables lik
  • 代码规范化的七大原则

    代码规范化的七大原则 代码规范化基本上有七大原则 体现在空行 空格 成对书写 缩进 对齐 代码行 注释七方面的书写规范上 空行 定义变量后要空行 尽可能在定义变量的同时初始化该变量 即遵循就近原则 如果变量的引用和定义相隔比较远 那么变量的
  • 物体移动--通过改变transform--鼠标控制

    鼠标控制物体移动 1 物体移动到鼠标点击处 2 物体跟随鼠标移动 分为三步 获取鼠标位置 转化为世界坐标 物体移动 private Vector3 mopos private Vector3 gamepos void Start 物体的世界
  • 2022年计算机二级MS Office高级应用复习题及答案

    1 IP地址是一串难以记忆的数字 人们用域名来代替它 完成IP地址和域名之间转换工作的是 A 服务器 A DNS B URL C UNIX D ISDN 2 用高级程序设计语言编写的程序称为源程序 它 D A 只能在专门的机器上运行 B 无
  • 华为OD机试真题- 找出通过车辆最多颜色【2023Q1】【JAVA、Python、C++】

    题目描述 在一个狭小的路口 每秒只能通过一辆车 假如车辆的颜色只有3种 找出N秒内经过的最多颜色的车辆数量 三种颜色编号为0 1 2 输入描述 第一行输入的是通过的车辆颜色信息 0 1 1 2 代表4秒钟通过的车辆颜色分别是0 1 1 2
  • Java 基于协同过滤实现插画交流平台中的插画信息推荐功能

    Mahout 介绍 Mahout 是 Apache Software Foundation ASF 旗下的一个开源项目 提供一些可扩展的机器学习领域经典算法的实现 旨在帮助开发人员更加方便快捷地创建智能应用程序 Mahout包含许多实现 包
  • MyBatis增删改查(步骤详细,由浅入深,适合初学者,只看这一篇就够了)

    MyBatis目录 java 后端框架 MyBatis的使用 1 mybatis基本使用 2 mybatis工具类的封装和实现增删改查 3 mybatis中主要类的介绍 4 nybatis实现动态代理 使用的是反射机制 重点掌握 5 myb
  • [Pikachu靶场实战系列]RCE(远程系统命令执行)

    RCE介绍 exec ping 可以输入一个ip地址 结果发现页面无回显 难道不应该回显Ping命令的结果吗 不过我们不管他 继续下一步 在ip后用 分割再输入一个ls命令 发现ls命令被执行了 说明开发者没有做严格的安全控制 没有想到我们
  • python pandas 处理并excel 插入一列新的数据

    python pandas 处理excel并插入一列新的数据 接到个需求是在表格里塞入一列新的数据 假如分页的数据 页 条数 我们这是200条 页 用的是pandas import pandas as pd path excel room
  • Elasticsearch硬核入门教程(2022最全)

    Java全能学习 面试指南 https javaxiaobear cn 1 Elasticsearch概述 1 什么是Elasticsearch The Elastic Stack 包括 Elasticsearch Kibana Beats
  • 返回给定二叉树中一层最多的节点个数(仅使用队列实现)

    思路点拨 我们知道对二叉树实现层序遍历 也就是一层一层遍历 需要使用队列 而要找出节点最多的那一层 必然避不开要算出每一层节点的个数 那也就避不开层序遍历 除此之外 我们还需要维护几个变量 1 curend 当前层的最后一个节点 2 nex
  • Java基础之try catch finally的原理

    先看一段代码 public static int test int i 0 try System out println 业务执行 标记1 i 1 0 System out println 业务执行完成 i 标记2 return i cat
  • 双向循环神经网络

    双向循环神经网络结构图
  • LinuxRPM软件安装

    软件管理 软件安装介绍 学软件开发 各种台的软件熟练安装是必须要熟练掌握 大家都知道 Windows下安装软件时 只需用鼠标双击软件的安装程序 或者用Zip等解压缩软件解压缩即可安装 在android或者apple中安装软件时 只需要在手机
  • nginx前后端分离部署无法访问到后端接口

    先看一组错误案例 user nobody worker processes 1 error log logs error log error log logs error log notice error log logs error lo
  • 【程序运行时的两种环境】

    目录 前言 一 翻译环境 一 预编译 二 编译 三 汇编 四 链接 二 执行环境 三 补充 总结 前言 在ANSI C的任何一种实现中 都要经过两种环境 一种是编译环境 用于将程序代码转换为可执行的机器指令 二进制指令 另一种是执行环境 用
  • 【C++】细说C++中的数组之动态数组

    转载自如下位置 https blog csdn net u013921430 article details 79514972 以备学习
  • 前端引入和html标签

    先安装 flask模块 pip install flask from flask import Flask app Flask name 创建了网址 show info 和函数index的对应关系 以后用户在浏览器上访问 show info
  • 前端小程序面试题(一)

    首先说一些为什么总结小程序相关的面试题吧 我们可以随便打开一个招聘网站 在那里你会发现市场对于小程序的需求还是蛮高的 有些公司可能就只需要写小程序的前端人员 虽然小程序的开发很大一部分都是很简单的 但是有些常用的东西还是有必要了解一下的 故