首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
记录面试题(JS+Uniapp)
📅 2026/10/21 20:08:29
✍️ 爱科研究院
👁 阅读 3,247
1、promisepromise就是一个状态机用来解决异步问题在es6之前前端通过回调函数来执行因为它是一个单线程的那如果我们有多个异步操作的话就会产生一个回调嵌套回调地狱的问题那promise是一个状态机它刚开始是一个pendding状态然后通过resolve改成fulfilled通过reject改成rejected,那我们可以在promise里面执行异步操作当异步操作完成之后掉resolve或者reject就可以了然后在then里面就可以执行它后续的操作把一个异步操作变成一个链式调用在then里面再返回一个promise后面还可以在接着一个then,这样我们可以把一些异步操作串起来支持多个并发请求2、普通函数和箭头函数写法不同this指向不同function中的this执行环境的不同而不同箭头函数的this是它自己执行环境最近非箭头函数的thisfunction可以被new 实例化箭头函数不可以不能用作构造器function可以被声明提前箭头函数不可以必须先声明后使用不然会报错3、defer和async的区别4、跨域协议域名端口必须一致否则就会受到浏览器同源策略的影响proxyngxinwindow.name iframejsonp跨域资源贡献CORS服务端设置Access-Control-Allow-Origin即可5、服务端渲染和客户端渲染区别服务端渲染页面的数据和渲染都是由服务器提供的浏览器只用来展示页面内容容易被爬虫爬取数据同时能被搜索引擎搜索到能在搜索引擎中向用户展示数据客户端渲染页面的渲染工作都是由浏览器来完成的服务器只是负责提供数据。客户端渲染能尽早的把页面展示给用户用户体验好不容易被爬虫爬取数据同时也无法被搜索引擎搜索到6、import和require的区别import编译时加载require运行时加载import只加载引入的方法require先把整个文件加载再读取里面的方法require默认非严格模式import默认严格模式即使没有在顶部加上use strict7、history和hash的区别history没有#URL发生变化会向后端服务器发送请求history是两个API pushState() replaceState()和一个事件onpopstate监听URL变化hash通过监听浏览器的onhashChange()事件监听变化查找对应的路由规则query:拼在url?后面刷新页面参数不会丢失用path搭配params:动态路由参数只能搭配name跳转刷新页面会丢失可以放在local或者pinia里面8、强制缓存和协商缓存浏览器的缓存主要是为了提高访问效率强制缓存首次访问一个网站里面的一些静态资源eg.图片、css、js实际上是从服务器上下载的如果刷新页面的话这个资源是没必要在服务器上重新去请求因为他们没有变动这种资源浏览器默认是强制缓存强制缓存第二次访问的时候不会去服务器上重新下载了同样会返回200状态码但是资源是从浏览器的本地的缓存里面获取的。协商缓存和后台去协商如果是协商缓存第一次返回的结果里面返回一个200的状态码同时会携带一个是否更新last modify 一个状态还会返回一个唯一标识etag只要资源在服务端没有变化下次访问的时候后台对比这个etag唯一标识或者last modify的状态如果没有变化会返回一个304的状态浏览器接受到304状态浏览去会从本地把缓存的资源取出来uniapp1、Uni-app就是用着vue的指令和小程序的组件和API2、onPullDownRefresh可以监听到下拉刷新的动作3、uniapp缓存同步uni.setStorageSync获取uni.getStorageSync异步uni.setStorage获取uni.getStorage4、路由跳转方式标签navigator urluni.navigate to({url:}),保留当前页面跳转到应用的某个页面uni.navigateBack关闭当前页面返回上一页面或多级页面uni.redirectTo({}) 关闭当前页面跳转其它页面uni.reLaunch关闭所有页面跳转到其他页面打开任意页面uni.switchTab 关闭所有非tabBar页面只能打开tabBar页面不能url传参5、应用生命周期onLaunch——当uni-app 初始化完成时触发全局只触发一次onShow——当 uni-app 启动或从后台进入前台显示onHide——当 uni-app 从前台进入后台onError——当 uni-app 报错时触发onUniNViewMessage——对 nvue 页面发送的数据进行监听可参考 nvue 向 vue 通讯onUnhandledRejection——对未处理的 Promise 拒绝事件监听函数2.8.1onPageNotFound——页面不存在监听函数onThemeChange——监听系统主题变化6、页面生命周期onInit——监听页面初始化其参数同 onLoad 参数为上个页面传递的数据参数类型为 Object用于页面传参触发时机早于 onLoadonLoad——监听页面加载其参数为上个页面传递的数据参数类型为 Object用于页面传参参考示例onShow——监听页面显示。页面每次出现在屏幕上都触发包括从下级页面点返回露出当前页面onReady——监听页面初次渲染完成。注意如果渲染速度快会在页面进入动画完成前触发onHide——监听页面隐藏onUnload——监听页面卸载onResize——监听窗口尺寸变化
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/21 20:08:29
binlog和redolog的区别
2026/10/21 20:08:29
redisson分布式锁底层原理
2026/10/21 20:03:27
Android显示驱动学习路线:从硬件时序到DRM/KMS框架实战
2026/10/21 21:54:33
从零手写最小LLM Agent:模型、工具、记忆与循环实战指南
2026/10/21 21:54:33
Linux驱动开发进阶:从GPIO到设备树与input子系统完整实战
2026/10/21 21:54:33
Linux安全排查命令实战:从进程、日志到网络定位入侵痕迹
2026/10/21 21:54:33
力特FT-232驱动安装全攻略:从黄叹号到串口通信实战
2026/10/21 21:54:33
大模型微调实战:从数据准备到部署避坑,如何让输出稳定可控
2026/10/21 21:49:32
MFC自定义按钮开发:DrawItem原理与高DPI状态管理
2026/10/21 0:01:44
ClickHouse实战:从列式存储到亿级数据秒级查询
2026/10/21 0:01:44
高效筛选arXiv机器学习论文:四步法实战指南
2026/10/21 0:01:44
Python爬取百度迁徙数据:接口签名、反爬与SQLite存储实战
2026/10/21 19:05:16
OpenResearch实战:Claude Code、Codex、OpenCode、Cursor 工作流搭建与故障排查
2026/10/21 14:47:26
知识管理核弹:用Obsidian构建第二大脑的工程化方案(TaoToken 统一 Key 接入版)
2026/10/21 19:05:04
金融AI落地指南:从调研报告到技术选型与工程实践
2026/10/20 2:24:03
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/20 2:23:57
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/21 19:01:08
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)