当前位置: 首页 > article >正文

前端面试基础知识整理【Day-11】

前言前端面试基础知识整理【Day-1】-CSDN博客前端面试基础知识整理【Day-2】-CSDN博客前端面试基础知识整理【Day-3】-CSDN博客前端面试基础知识整理【Day-4】-CSDN博客前端面试基础知识整理【Day-5】-CSDN博客前端面试基础知识整理【Day-6】-CSDN博客前端面试基础知识整理【Day-7】-CSDN博客前端面试基础知识整理【Day-8】-CSDN博客前端面试基础知识整理【Day-9】-CSDN博客前端面试基础知识整理【Day-10】-CSDN博客Vue篇1.从A页面切换到B页面如何中断A页面中的请求当用户从A页面跳转到B页面时如果此时A页面有大量请求占用会浪费用户带宽还有可能在B页面弹出一个A页面的报错弹窗。解决方法是用“AbortController”发送请求前创建controllerconst controller new AbortController绑定请求controller.signal传给axios组件卸载时拦截在Vue的onBeforeUnmount生命周期中调用controller.abort()终止网络连接并且在axios中会抛出一个CanceledErrorconst controller new AbortController() const fetchHeavyData async () { try { const res await axios.get(https://api.example.com/heavy-data, { signal: controller.signal }) data.value res.data } catch (error) { if (axios.isCancel(error)) { console.log(请求已中断用户切走了页面不必大惊小怪) } else { console.error(这才是真正的网络故障或接口 500 报错:, error) } } } fetchHeavyData() onBeforeUnmount(() { controller.abort(组件卸载主动掐断请求) })2.Vue根组件可以有多个根标签吗Vue2不可以Vue3可以Vue3引入了Fragment机制支持多个根节点产生的问题会导致透传属性$attrs失败或警告当父组件给子组件传一个class、style、click并且子组件没有用props或emits接收时Vue3默认会把这些属性挂载到子组件的根节点上如果有多个根节点Vue就不知道应该挂载给谁就会抛出警告。解决方法在模版中手动用v-bind$attrs明确绑定3.axios是基于Fetch还是XHR封装的axios是基于XMLHttpRequest(XHR)封装的不过从axios17.0开始官方引入了Fetch允许用户选择底层方法是XHR还是Fetch4.defineModel有哪些属性defineModel用来简化v-model的双向绑定它的参数对象里可以配置以下属性type限制绑定的数据类型default如果没有传入v-model时提供的默认值required布尔值是否强制父组件传递该v-modelvalidator自定义校验函数除此之外defineModel还可以用来指定多个v-model属性//父组件 UserProfile v-model:nameuser.name v-model:ageuser.age v-model:phoneuser.phone / //子组件 const name defineModel(name) const age defineModel(age, { type: Number }) const phone defineModel(phone)Git篇提交代码时遇见冲突如何解决如果当前有正在编辑的草稿未add/commit那么先用git stash将草稿缓存接着执行git pull --rebase将远端代码拉取下来此时会产生冲突并解决冲突当前文件的冲突解决完后继续执行git add . 和git rebase --continue解决下一个文件的冲突直到git rebase --continue没有新的冲突了执行git push执行git stash pop弹出草稿代码篇1.new Set()Set()自带去重因此Set()常用来去重下面是数组去重const arr [1, 1, 2, 3, 4, 5, 6]; const newArr [...new Set(arr)]; console.log(newArr);字符串查重const string aaabbbccccddefdgcx; const newArr [...new Set(string)].join(); console.log(newArr); // abcdefgxSet去重的范围可以去重NaN不可以去重对象ObjectSet的四种用法const set new Set(); // 增加,自动去重 set.add(1); set.add(1); set.add(2); console.log(now, set:, set); // 判断set的长度 console.log(set length is:, set.size); // 判断set是否有某个值 if(set.has(1)) { console.log(set有1); } // 删除 set.delete(1); console.log(now, set:, set); // 清空 set.clear(); console.log(now, set:, set);结果2.new Map()JS里的对象只能存储字符串、数字、Symbol但是Map可以存储任何数据类型数组、函数、对象、DOM 节点、甚至 NaNconst myMap new Map(); const btnElement document.getElementById(my-btn); const userObj { id: 1, name: 张三 }; // 增set(key, value) myMap.set(btnElement, 这是按钮的附加数据); myMap.set(userObj, { role: admin, active: true }); // 查get(key) console.log(myMap.get(btnElement)); console.log(myMap.get(userObj).role); // 查询没有的值返回undefined console.log(myMap.get(test)); // 判存与大小has() 和 size console.log(myMap.has(userObj)); console.log(myMap.size);

相关文章:

前端面试基础知识整理【Day-11】

前言 前端面试基础知识整理【Day-1】-CSDN博客 前端面试基础知识整理【Day-2】-CSDN博客 前端面试基础知识整理【Day-3】-CSDN博客 前端面试基础知识整理【Day-4】-CSDN博客 前端面试基础知识整理【Day-5】-CSDN博客 前端面试基础知识整理【Day-6】-CSDN博客 前端面试基…...

前端实现网页转PDF矢量文件,高清还原网页内容

前端:Vue3 后端:Node.js Express 接口 核心 PDF 引擎:Puppeteer(谷歌 Chrome 官方无头浏览器) 中文 100% 不乱码 图片 100% 显示 样式 1:1 还原 A4 自动分页,完美排版 文字可选中,矢量高清 ✅ …...

网络安全的进一步学习

了解基础网安知识分析第三方应用,进一步了解向日葵低版本被利用的条件,和木马能隐藏的原因(通过计划任务定时运行实现持久化的运行)和发现异常登录的记录并进行排查。...

JavaScript性能优化实战烈嘿

JavaScript性能优化实战技术文章大纲 性能优化的核心原则 减少代码执行时间 降低内存占用 优化网络请求 提升用户体验 代码层面的优化 避免全局变量污染,使用模块化或闭包 减少DOM操作,批量更新或使用文档片段 使用事件委托减少事件监听器数量 优化循环结…...

木马的排除与防护

作为学习者,我仅将所学知识进行系统梳理和总结。如有任何疏漏或错误,敬请指正进程、服务、启动项、计划任务的定义进程:操作系统中程序的一次执行实例,是资源分配和调度的基本单位。 服务:在后台运行的程序&#xff0c…...

我用 OpenClaw 7 天,砍掉了 80% 的重复沟通

我用 OpenClaw 7 天,砍掉了 80% 的重复沟通 很多人第一次接触 AI 助手,期待的是“无所不能”。 但真正把 AI 用起来之后,你会发现,最先产生价值的不是那些酷炫能力,而是那些你早就烦透了、却每天都还得做的重复工作。 …...

IDEA各版本支持的Java 版本和功能

https://www.jetbrains.com.cn/help/idea/supported-java-versions.html...

2.【.NET10 实战--孢子记账--产品智能化】--升级前的准备工作:项目依赖梳理与升级计划制定

我们在日常产品维护时,往往会遇到底层基础框架需要升级的情况,尤其是当底层框架升级到一个新的大版本时,可能会带来一些不兼容的变更,这时候我们就需要做好充分的准备工作,以确保升级过程顺利进行。从本文开始&#xf…...

064远程教育网站系统-springboot+vue

文末领取项目源码springbootvue 1.登录2.注册3.首页请文末卡片dd我获取源码...

Android 多进程开发 - FileDescriptor、Uri、AIDL 接口定义不能抛出异常

FileDescriptor 1、AIDL IMyAidlInterface.aidl,这里是位于 src/main/java/com/my/common 包下 package com.my.common;import android.os.ParcelFileDescriptor;interface IMyAidlInterface {ParcelFileDescriptor getFileDescriptor();void setFileDescriptor(in …...

KMP算法详解 [c++]

目录 前言 朴素的模式匹配算法 KMP模式匹配算法 KMP模式匹配算法的原理 next数组值的推导 KMP模式匹配算法的实现 KMP模式匹配算法的改进 nextval的推导 优化后的KMP模式匹配算法代码 零、前言 每年新闻周刊都会发布年度十大热词,这其实查询某个字符串在其…...

AD7685的SPI接口调试过程(附完整代码)

该系列的ADC主要差别是在转换速率上,AD7685的最大转换速率是250kSPS。我们主要是看芯片SPI接口和主机的通信:单个ADC和兼容SPI接口的主机通信时,一般会用三线且无繁忙指示模式,该模式的时序图如下所示:主要注意以下几点…...

L298N 直流电机驱动模块与 Arduino 的接口

虽然您最终需要学习控制直流电机才能构建自己的机器人,但您可能需要一些更容易上手的东西 - 这就是 L298N 电机驱动器的用武之地。它可以控制速度和旋转两个直流电机的方向。此外,它还可以 控制直流电机 只有能够控制直流电机的速度和旋转方向,我们才能完全控制它。通过结…...

【LLM infra】Megatron-LM | deepspeed | 量化/推理框架

note LLM推理过程: prefill:每层都得到历史token的kv cache,最后一个位置输出 logits;decode:对刚才新生成的token,计算它的Q/K/V,用它的 Q 去 attend 历史所有 K/V cache,输出下一…...

mimic数据库提取小问题解决

sql学艺不精,所以基本上自己开发一套“专属sql”后后面都是套用。首先是拼接问题,正常提取出目标人群后,需要不断拼接demo,treat,lab等数据,像demo,treat这些可能还好,但lab这些短时…...

推荐:Jib — 容器化你的Java应用的新选择!

推荐:Jib — 容器化你的Java应用的新选择! 【免费下载链接】jib GoogleContainerTools/jib: 是一个基于 Java 的 Docker 镜像构建工具,支持多种容器镜像构建选项和插件。该项目提供了一个简单易用的 Docker 镜像构建工具,可以方便…...

好用的软件、网站、插件记录

好的科研工具能够帮助我们事半功倍,华而不实的工具浪费我们的时间。在此记录一下,一些好用且目前我长期在使用的工具。 目的:希望帮助刚入门的同学快速上手,节省找工具的时间,将更多的时间投入自己的科研任务。 好用的…...

【亲测免费】 探索知识图谱的力量: rahulnyk/knowledge_graph 项目详解

探索知识图谱的力量: rahulnyk/knowledge_graph 项目详解 【免费下载链接】knowledge_graph Convert any text to a graph of knowledge. This can be used for Graph Augmented Generation or Knowledge Graph based QnA 项目地址: https://gitcode.com/gh_mirro…...

贡献者必读:如何参与SIMP开源项目并提交高质量代码

贡献者必读:如何参与SIMP开源项目并提交高质量代码 【免费下载链接】SIMP A system automation and configuration management stack targeted toward operational flexibility and policy compliance. 项目地址: https://gitcode.com/gh_mirrors/si/SIMP SI…...

【数字信号调制】基于8相移键控8-PSK调制数字通信系统(含模拟噪声信道上的信号传输,包括调制、噪声添加、解调以及符号和比特错误率的性能评估)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…...

【状态估计】基于卡尔曼滤波器实现月球陨石坑导航附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…...

【雷达干扰】基于CFastICA交叉极化干扰对消-独立成分分析附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…...

Windows 10 RS2及以上系统中使用TDL的注意事项:IRQL级别变化与驱动开发调整

Windows 10 RS2及以上系统中使用TDL的注意事项:IRQL级别变化与驱动开发调整 【免费下载链接】TDL Driver loader for bypassing Windows x64 Driver Signature Enforcement 项目地址: https://gitcode.com/gh_mirrors/tdl1/TDL TDL(Turla Driver …...

TDL驱动开发实战:如何编写适用于Turla Driver Loader的“无驱动”内核模块

TDL驱动开发实战:如何编写适用于Turla Driver Loader的“无驱动”内核模块 【免费下载链接】TDL Driver loader for bypassing Windows x64 Driver Signature Enforcement 项目地址: https://gitcode.com/gh_mirrors/tdl1/TDL TDL(Turla Driver L…...

光纤熔接实验教程

一、实验目的掌握光纤熔接的基本原理和操作步骤。学习使用光纤熔接机进行光纤的精确对接。了解光纤熔接的质量评估方法。二、实验设备与工具光纤熔接机:用于光纤的精确对准和熔接。光纤切割刀:用于切割光纤端面,确保端面平整。光纤剥线钳&…...

QgraphicsView异步线程加载地图瓦片

本节主要记录一下qt开发过程中离线地图瓦片的加载方式,瓦片加载选择graphicsView控件,同时为了不影响主线程事件和其他操作,这里采用了异步线程的操作,将地图瓦片加载的步骤放到了异步子线程之中。注:本记录仅为本人笔…...

Linux课程六课---Linux进程控制

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…...

华为OD机试双机位C卷-乘坐保密电梯 (Py/Java/C/C++/Js/Go)

乘坐保密电梯 华为OD机试双机位C卷 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 有一座保密大楼,你从0楼到达指定楼层m,必须这样的规则乘坐电梯: 给定一个数字序列,每…...

double-conversion开发者必备:测试用例编写与验证完全指南

double-conversion开发者必备:测试用例编写与验证完全指南 【免费下载链接】double-conversion Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. 项目地址: https://gitcode.com/gh_mirrors/do/double-conversion doubl…...

Gatt社区贡献指南:如何参与开源项目并提交PR

Gatt社区贡献指南:如何参与开源项目并提交PR 【免费下载链接】gatt Gatt is a Go package for building Bluetooth Low Energy peripherals 项目地址: https://gitcode.com/gh_mirrors/ga/gatt Gatt是一个用于构建蓝牙低功耗(BLE)外设…...