202312实战面试

1、 事件循环和变量提升。

for(var i = 0; i <= 5; i++){
  setTimeout(() =>{
  console.log(i)
  }, 1000)
}
console.log(i)
// 先输出6、间隔一秒后输出六次6;// 考察宏微任务、EventLoop 之类
Promise.resolve().then(() => {
    console.log(0);
    return Promise.resolve(4);
}).then((res) => {
    console.log(res)
})Promise.resolve().then(() => {
    console.log(1);
}).then(() => {
    console.log(2);
}).then(() => {
    console.log(3);
}).then(() => {
    console.log(5);
}).then(() =>{
    console.log(6);
})
// 0、1、2、3、4、5、6

2、this指向。

function fun(){
  console.log(this.length)
 }
let arr = [fun, 1, 2] 
arr[0]();let fun2 = arr[0];
fun2()
// 3、1

3、css实现九宫格,横间距15px,列间距10px

  <style>
    .grid-container {
      display: flex;
      flex-wrap: wrap;
      gap: 10px; /* 列间距 */
      justify-content: space-between; /* 横向间距 */
      padding: 15px; /* 外边距,用于横向间距 */
      box-sizing: border-box;
    }    .grid-item {
      flex: 0 0 calc(33.3333% - 10px); /* 三列,减去列间距 */
      box-sizing: border-box;
      background-color: #3498db;
      height: 0; /* 这里的高度设置为0,由内容撑开 */
      padding-bottom: calc(33.3333% - 10px); /* 三列,减去列间距 */
      position: relative;
    }
  </style>

4、请简述 MutationObserver、IntersectionObserver、ResizeObserver

  1. IntersectionObserver监听目标元素与其祖先或视口的交叉变化,主要用于实现懒加载等场景。
  2. ResizeObserver监听元素的尺寸变化,当被监听元素的尺寸发生变化时,会触发回调函数。
  3. MutationObserver 是 JS 中的一个接口,用于监听 DOM 树的变化。通过 MutationObserver,你可以注册回调函数,当监测的 DOM 节点或子树发生变化时,将会触发这些回调函数。这个接口的主要用途是取代过去常用的 DOM3 事件监听器的方式,提供了更灵活、更强大的 DOM 变化监测机制。
  4. PerformanceObserver用于监控性能相关的信息,例如资源加载、用户输入延迟等。通过 PerformanceObserver 可以收集和分析网页性能数据。

5、 简述$attr、$listeners

在Vue.js中,$attr属性是一个对象,它包含了非prop绑定的特性,即父组件传给子组件的所有属性。$attrs对象是没有响应性的,即当父组件修改属性时,子组件并不会获得更新。但是,如果使用v-bind="$attrs"将$attrs绑定到子组件中,那么子组件会继承父组件的所有非prop特性,且当父组件更新这些特性时,子组件也会随之更新。

 $listeners:包含所有父组件中的 v-on 事件监听器 (不包含 .native 修饰器的) ,可以通过 v-on="$listeners" 传入内部组件。

$attr属性与$props属性的关系

在Vue.js中,$attr属性和$props属性是息息相关的。可以用$attr属性和$props属性结合,完成父组件值向子组件值的传递。

在子组件中,可以使用$props来获取通过props传递的值,使用$attrs获取通过非prop特性传递的值。如果想在子组件中获取不论是通过prop还是非prop传递的值,可以使用$props和$attrs结合。

使用$attr属性处理未知属性

在子组件中,如果使用v-bind="$attrs"将非prop特性绑定到子组件中时,会将父组件传递的所有未知属性都传递给子组件。对于未知属性,子组件会将其渲染成HTML特性,并且不会替换已有的特性。

使用$attr属性控制特性顺序

在子组件中,使用v-bind可以将$attrs属性绑定到子组件中,并控制特性的顺序。可以结合对象展开运算符与v-bind,将$attrs中的特性添加到元素的特性列表中,并控制其顺序。

$attrs属性在递归组件中的使用

在递归组件中,父组件不知道递归组件的深度,所以无法为每一层递归组件都设置一个props。在这种情况下,可以使用$attrs属性向下传递数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/238055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【已解决】修改了网站的class样式name值,会影响SEO,搜索引擎抓取网站及排名吗?

问题&#xff1a; 修改了网站的class样式name值&#xff0c;会影响搜索引擎抓取网站及排名吗&#xff1f; 解答&#xff1a; 如果你仅仅修改了网站class样式的名称&#xff0c;而没有改变网站的结构和内容&#xff0c;那么搜索引擎通常不会因此而影响它对网站的抓取和排名。但…

中国自动驾驶行业:迈向无限可能

中国自动驾驶行业正在经历蓬勃发展&#xff0c;取得了令人瞩目的成果。这一行业在技术创新、政策支持和市场需求等方面展现出巨大潜力。本文将从技术创新、产业生态和前景发展等角度&#xff0c;探讨中国自动驾驶行业的现状和未来前景。 中国自动驾驶行业正处于一个令人瞩目的快…

C++基础语法总结

C使用 C的源文件扩展名是&#xff1a;cppC程序的入口是main函数C完全兼容c语言的语法 1、cin、cout C中常使用cin、cout进行控制台的输入和输出 #include <iostream> using namespace std;int main() {cout << "hello world !!!" << endl;retu…

德人合科技 | 设计公司文件加密系统——天锐绿盾自动智能透明加密防泄密系统

设计公司文件加密系统——天锐绿盾自动智能透明加密防泄密系统 PC端访问地址&#xff1a; www.drhchina.com 一、背景介绍 设计公司通常涉及到大量的创意作品、设计方案、客户资料等重要文件&#xff0c;这些文件往往包含公司的核心价值和商业机密。因此&#xff0c;如何确保…

动态代理和静态代理

代理模式&#xff08;Proxy Pattern&#xff09;&#xff1a;通过创建代理对象来控制对另一个对象的访问&#xff0c;通常用于实现横切关注点&#xff08;cross-cutting concerns&#xff09;&#xff0c;例如日志记录、系统安全性检查等。常见的代理模式就是动态代理和静态代理…

Linux磁盘空间不足扩展

先在虚拟机Vmware上扩展磁盘空间 后将fdisk 进行分区之后&#xff0c;在/dev/中找不到新分区文件 3.创建物理卷pv时发现找不到/dev/sda3分区&#xff0c;通过ls查看确认在/dev/中没有找到新分区文件 4.解决方法 执行&#xff1a;partprobe 再查看/dev中是否可以看到新分区文件…

QT计算时间差 秒 毫秒 (另附c++版本)

QT计算时间差&#xff0c;两次时间的间隔 项目计算码流需要用到计算时间差 QT版本 利用secsTo函数 QDateTime startTime QDateTime::currentDateTime();Sleep(5000);QDateTime endTime QDateTime::currentDateTime();qint64 intervalTime startTime.secsTo(endTime); //求…

云轴科技ZStack 英特尔联合成立云系统解决方案创新中心

近日&#xff0c;云轴科技ZStack 与英特尔联合成立云系统解决方案创新中心&#xff0c;并完成揭牌仪式。双方将基于多年合作基础进一步加快研发下一代创新技术和解决方案&#xff0c;为客户和合作伙伴提供更高效、安全的云基础设施解决方案。 左三:云轴科技ZStack 联合创始人兼…

量化交易学习笔记:XGBoost 在量化选股中的应用

一、引言 本篇文章通过借鉴传统机器学习算法——XGBoost——对相同的量价因子进行实验&#xff0c;方便与深度学习模型进行对比实践。 二、算法介绍 XGBoost 是在 Gradient Boosting&#xff08;梯度提升&#xff09;框架下实现的机器学习算法&#xff0c;全称为“极限梯度提…

FPGA模块——以太网(1)MDIO读写

FPGA模块——以太网MDIO读写 MDIO接口介绍MDIO接口代码&#xff08;1&#xff09;MDIO接口驱动代码&#xff08;2&#xff09;使用MDIO驱动的代码 MDIO接口介绍 MDIO是串行管理接口。MAC 和 PHY 芯片有一个配置接口&#xff0c;即 MDIO 接口&#xff0c;可以配置 PHY 芯片的工…

树的重心(dfs深度搜索)

树的重心 原题链接&#xff1a;846. 树的重心 - AcWing题库 邻接表存储树图 模板代码 void add(int a, int b){e[id] b,ne[id] h[a], h[a] id; }dfs 搜索树 模板代码 void dfs(int u){f[u] true;for(int i h[u]; i!-1; i ne[i]){int j e[i];if(!f[j])dfs(j);} }整体…

理解AI思维链:AI领域的核心概念及其意义

理解AI思维链&#xff1a;AI领域的核心概念及其意义 引言AI思维链的定义AI思维链的重要性实际应用案例分析面临的挑战与未来展望结语 引言 在这个日益由数据驱动的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为科技领域的一颗耀眼的明星&#xff0c;其影响力遍…

java UDP编程

UDP协议是一个不安全、不连续的&#xff0c;把数据发送出去之后就结束了&#xff0c;根本不管对方有没有接收到。 快递员&#xff1a;DatagramSocket 包裹&#xff1a;DatagramPacket 原理就是将数据以及对方的信息都放到包裹里面&#xff0c;然后让快递员发送给对应的人。…

(八)STM32 USART —— 串口通讯

目录 1. 串口通讯协议简介 1.1 物理层 1.1.1 电平标准 1&#xff09;TTL 电平 2&#xff09;RS-232 电平 3&#xff09;RS-485 电平 4&#xff09;CAN 总线电平 1.1.2 USB 和 串口 的区分 1.1.3 RS-232 信号线 1.2 协议层 1&#xff09;波特率 2&#xff09;通讯…

负载均衡:一致性哈希解决了哪些问题?

在业务开发中&#xff0c;缓存服务和其他数据服务一样&#xff0c;需要满足高可用性&#xff0c;而高可用最常用的手段就是集群扩展。 缓存的集群高可用 目前 Redis 流行的集群方案有 官方 Cluster 方案、twemproxy 代理方案、哨兵模式、Codis 等方案&#xff0c;关于这几种方…

Java 自定义泛型

1、接口的泛型 例如List<数据类型>&#xff0c;在创建接口的时候可以通过传不同的类型&#xff0c;进行使用。 如果需要对一些类型进行一些相同的类似于增删改查的操作&#xff0c;那么可以用泛型来简化&#xff0c;只需要将需要操作的类型传入即可。 需要注意的是泛型…

阿里云赵大川:弹性计算推理解决方案拯救 AIGC 算力危机

云布道师 本篇文章围绕弹性计算推理解决方案 DeepGPU 实例如何支持 Stable Diffusion 文生图推理、Stable Diffusion 推理演示示例等相关话题展开。 赵大川 阿里云弹性计算高级技术专家 GPU 云服务器推理解决方案的提出背景 随着 AIGC 时代的到来&#xff0c;两个重要应用应…

js如何调用iframe页面里的方法

document.getElementById("iframeID").contentWindow.子级页面方法(); <body><h3>父页面</h3><iframe id"iframebb" src"b.html" ></iframe><br><script>function ff(){alert("这里是父页面ff的…

IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -SpringMVC @RequestMapping详解

第一章 RequestMapping详解 RequestMapping注解作用&#xff1a;为指定的类或方法设置相应URL 1.1 RequestMapping注解位置 书写在类上面 作用&#xff1a;为当前类设置映射URL注意&#xff1a;不能单独使用&#xff0c;需要与方法上的RequestMapping配合使用 书写在方法上面 …

vi和vim的区别

目录 一、前言 二、vi/vim 的介绍 三、Vi/Vim 常见指令 四、vi和vim的区别 一、前言 写这篇文章的目的&#xff0c;是为了告诉大家我们如果要在终端下对文本进行编辑和修改可以使用vim编辑器。 Ubuntu 自带了 VI 编辑器&#xff0c;但是 VI 编辑器对于习惯了 Windows 下进…