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

es6面试题

ES6面试题

var、let、const区别
共同点:都是可以声明变量
区别:
1、var具有变量提升机制,let和const没有
2、var 声明的变量是函数作用域或全局作用域,而 const 和 let 声明的变量是块级作用域。
3、var可以多次声明同一个变量,let和const不可以
4、const 声明的变量必须进行初始化赋值,而 var 和 let 声明的变量可以不进行初始化赋值。

作用域考题

考题一:

Var没有自身的作用域,所以var n=1,打印是1

考题三:

将下列对象合并
方式一:Object.assign

方式二:

方式三:自己封装

箭头函数和普通函数的区别?

1、this指向的问题
箭头函数的this是在箭头函数定义时就决定的,而且是不可修改的(不可用call、apply、bind)
****箭头函数的this指向定义时候、外层第一个普通函数的this
2、箭头函数不能new(不能当作构造函数)
3、箭头函数没有prototype
4、箭头函数没有arguments对象

Promise是什么,它的API有哪些?

1、- Promise是es6新增的语法,用来处理异步请求,解决了es5中回调地狱的问题
2、- Promise的回调函数中接收两个参数,第一个表示请求成功的回调,第二个表示请求失败的回调,分别是resolve和reject。
3、- 使用.then()去获取结果,使用.catch()去捕获异常,并且上一个Promise的执行结果会返回一个Promise对象。

  • Promise.all()和Promise.race()

使用场景:
有些时候我们做一个操作可能得同时需要不同的接口返回的数据,这时我们就可以使用Promise.all;
有时我们比如说有好几个服务器的好几个接口都提供同样的服务,我们不知道哪个接口更快,就可以使用Promise.race,哪个接口的数据先回来我们就用哪个接口的数据。
Promise有几种状态
有3种状态
4、pending(进行中)
5、fulfilled(已成功)
6、rejected(已失败)

async和await?区别?如何用?工作原理?

Async用来定义函数的,是一个异步函数,打印这个函数名会得到promise这个对象,(函数名称.then(函数名称调用then方法,就是promise调用then方法)
Await 后面加表达式,一般使用promise的表达式
工作原理:
Async执行成功会有返回值,内部调用promise.resolve()

  1. Promise是ES6中处理异步请求的语法,使用.then()来实现链式调用,使用.catch()来捕获异常。
  2. async/await 是对Promise的升级,
    async用于声明一个函数是异步的,
    await是等待一个异步方法执行完成(await一个Promise对象)
    await = promise.then成功的情况。
    async/await的捕获异常可以使用try/catch语法。(也可以使用.catch语法)
    find和filter的区别,
    find是查找符合的,返回第一个,
    filter是筛选所有符合的
    区别一:返回的内容不同
    filter返回的是新数组
    find返回的是具体内容
    区别二:
    Find匹配到第一个即返回
    Filter:返回整体(每一个匹配都加入数组,返回这个数组)”

some和every的区别,

some判断是否有符合的,如果有一项就返回true,返回true或false
every判断数组里每一项是否都符合,全部匹配返回true,返回true或false

flat与flatMap使用

1、flat:数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。

[1, 2, [3, 4]].flat()
// [1, 2, 3, 4]

flat()默认只会“拉平”一层,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。
如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。
如果原数组有空位,flat()方法会跳过空位

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]][1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5][1, [2, [3]]].flat(Infinity)
// [1, 2, 3]//如果原数组有空位,flat()方法会跳过空位。
[1, 2, , 4, 5].flat()
// [1, 2, 4, 5]

2、flatMap()方法:对原数组的每个成员执行一个函数(相当于执行Array.prototype.map()),然后对返回值组成的数组执行flat()方法。
该方法返回一个新数组,不改变原数组。
flatMap()只能展开一层数组。

// 相当于 [[[2]], [[4]], [[6]], [[8]]].flat()
[1, 2, 3, 4].flatMap(x => [[x * 2]])
// [[2], [4], [6], [8]]

相关文章:

es6面试题

ES6面试题 var、let、const区别 共同点:都是可以声明变量 区别: 1、var具有变量提升机制,let和const没有 2、var 声明的变量是函数作用域或全局作用域,而 const 和 let 声明的变量是块级作用域。 3、var可以多次声明同一个变量&a…...

Kafka MQ 生产者和消费者

Kafka MQ 生产者和消费者 Kafka 的客户端就是 Kafka 系统的用户,它们被分为两种基本类型:生产者和消费者。除 此之外,还有其他高级客户端 API——用于数据集成的 Kafka Connect API 和用于流式处理 的 Kafka Streams。这些高级客户端 API 使用生产者和消…...

tomcat优化与部署(三)------nignx优化与nginx +tomcat 部署

在目前流行的互联网架构中,Tomcat在目前的网络编程中是举足轻重的,由于Tomcat的运行依赖于JVM,从虚拟机的角度把Tomcat的调整分为外部环境调优 JVM 和 Tomcat 自身调优两部分 Tomcat 是一个流行的开源 Java 服务器,用于托管 Java …...

一个用libcurl多线程下载断言错误问题的排查

某数据下载程序,相同版本的代码,在64位系统中运行正常,但在32位系统中概率性出现断言错误。一旦出现,程序无法正常继续,即使重启亦不行。从年前会上领导提出要追到根,跟到底,到年后的今天&#…...

Docker的安装及MySQL的部署(CentOS版)

目录 1 前言 2 Docker安装步骤 2.1 卸载可能存在的旧版Docker 2.2 配置Docker的yum库 2.2.1 安装yum工具 2.2.2 配置Docker的yum源 2.3 安装Docker 2.4 启动和校验 2.5 配置镜像加速(使用阿里云) 2.5.1 进入控制台 2.5.2 进入容器镜像服务 2.5.3 获取指令并粘贴到…...

css 背景图片居中显示

background 简写 background: #ffffff url(https://profile-avatar.csdnimg.cn/b9abdd57de464582860bf8ade52373b6_misnice.jpg) center center / 100% no-repeat;效果如图:...

Python编程-如何轻松开启一个Web服务?

目录 前言 Flask:轻量级 Django:高级 Bottle:轻量级 Pyramid:灵活且可扩展 Tornado:可扩展、非阻塞 CherryPy:微型 轻量级的Web框架的选择 前言 在Python中开启一个Web服务有多种方法,选…...

鸡肋的Git

1.前言 对于大多数开发人员来说,我们大多数在学习或者工作过程中只关注核心部分,比如说学习Java,可能对于大多数人而言一开始都是从Java基础学起,然后408,Spring,中间件等,当你发现很多高深的技…...

iOS 中的 UITextField 如何设置才能只输入数字和小数点?

刚接触 iOS不久&#xff0c;接到一个iOS项目&#xff0c;其中有一个需求就是在一个 UITextField中只能输入数字和小数点&#xff0c;这个需求在Android中非常容易&#xff0c;只需要设置 <EditTextandroid:id"id/id_et_price"android:layout_width"match_par…...

阿珊详解Vue Router的守卫机制

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

python淘宝网页爬虫数据保存到 csv和mysql(selenium)

数据库连接设置&#xff08;表和字段要提前在数据库中建好&#xff09; # 数据库中要插入的表 MYSQL_TABLE goods# MySQL 数据库连接配置,根据自己的本地数据库修改 db_config {host: localhost,port: 3306,user: root,password: ma*****6,database: may2024,charset: utf8mb…...

云计算中仲裁节点和仲裁可用区介绍

在云计算中&#xff0c;仲裁是指当多个节点或实例之间发生争议或冲突时&#xff0c;由一个独立的第三方机构或节点来解决争议或冲突的过程。仲裁通常用于解决云计算中的资源分配、数据一致性、服务质量等问题。 仲裁的作用主要有以下几点&#xff1a; 1. 保证资源分配的公平性…...

Python的requests库发送HTTPS请求时,SSL证书验证的流程

建立连接&#xff1a;当你使用requests库发送HTTPS请求时&#xff0c;它会尝试与目标服务器建立安全的SSL连接。 获取服务器SSL证书&#xff1a;服务器会将自己的SSL证书发送给客户端&#xff08;即你的请求&#xff09;。 验证证书&#xff1a;requests库会验证服务器返回的…...

基于 HBase Phoenix 构建实时数仓(3)—— Phoenix 安装

目录 一、主机规划 二、Phoenix 安装 1. 解压、配置环境 2. 将 phoenix-server-hbase-2.5-5.1.3.jar 文件复制到 HBase 的 lib 目录中 3. 重启 HBase 集群 4. 安装验证 &#xff08;1&#xff09;连接 HBase &#xff08;2&#xff09;视图映射 &#xff08;3&#xf…...

Python IDE

Python IDE 本文为大家推荐几款款不错的 Python IDE&#xff08;集成开发环境&#xff09;&#xff0c;比较推荐 PyCharm&#xff0c;当然你可以根据自己的喜好来选择适合自己的 Python IDE。 PyCharm PyCharm 是由 JetBrains 打造的一款 Python IDE。 PyCharm 具备一般 Pyt…...

Vue3和Vue2的区别

Vue 3 是 Vue.js 的下一个主要版本&#xff0c;它引入了许多新特性和优化&#xff0c;与 Vue 2 相比有一些显著的区别。以下是一些主要的区别&#xff1a; 性能提升: Vue 3 提供了更快的虚拟 DOM&#xff0c;减少了渲染和更新时间。使用 Proxy 重写了响应式系统&#xff0c;使…...

【内推】新风口-大模型独角兽公司minimax

先上内推链接&#xff1a; MiniMax社招内推码: AK3XEJ6 投递链接: https://vrfi1sk8a0.jobs.feishu.cn/s/iFY5WFgE 岗位&#xff1a;前端、后端、算法&#xff0c;基础架构都有&#xff0c;大量hc 公司介绍&#xff1a; 国内同时拥有文本、语音、视觉三种基础大模型能力的创业…...

基于单片机的水平角度仪系统设计

目 录 摘 要 I Abstract II 引 言 1 1控制系统设计 3 1.1系统方案设计 3 1.2系统工作原理 4 2硬件设计 6 2.1单片机 6 2.1.1单片机最小系统 6 2.1.2 STC89C52单片机的性能 7 2.2角度采集电路 8 2.2.1 ADXL345传感器的工作原理 9 2.2.2 ADXL345传感器倾角测量的原理 9 2.2.3 AD…...

Haproxy 负载均衡集群

一. Haproxy 1. Haproxy 介绍 HAProxy 是法国开发者威利塔罗 (Willy Tarreau) 在2000年使用C语言开发的一个开源软件&#xff0c;是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器&#xff0c;支持基于cookie的持久性&#xff0c;自动故障切换&#xff0c;支持正则…...

微服务知识03

1、ES搜索引擎,高性能的分布式搜索引擎,底层基于Lucene 主要用于应用程序中的搜索系统 日志收集 2、基础概念 3、ES处理流程 5、下载中文分词器 Releases infinilabs/analysis-ik GitHub 6、分词模式 最细粒度拆分、智能分词 7、Elaticsearch配置流程 (1)把文件拖进…...

避坑指南:在嵌入式Linux下驱动ST7789屏幕时,设备树与SPI驱动的那些常见错误

ST7789屏幕驱动避坑实战&#xff1a;嵌入式Linux下SPI与设备树的12个高频陷阱 调试ST7789屏幕时遇到黑屏、花屏或SPI通信失败&#xff1f;这可能是设备树配置或驱动代码中的隐蔽错误导致的。本文将揭示嵌入式Linux开发者最常踩中的12个技术陷阱&#xff0c;并提供经过验证的解决…...

Qwen3-14B企业落地效果:研发文档自动生成节省工程师40%时间

Qwen3-14B企业落地效果&#xff1a;研发文档自动生成节省工程师40%时间 1. 企业研发文档的痛点与解决方案 在技术研发领域&#xff0c;文档编写一直是工程师们头疼的问题。根据行业调研&#xff0c;工程师平均每周要花费8-10小时在文档撰写上&#xff0c;这不仅挤占了宝贵的开…...

GTE+SeqGPT入门指南:GTE-Chinese-Large输出向量维度与归一化说明

GTESeqGPT入门指南&#xff1a;GTE-Chinese-Large输出向量维度与归一化说明 1. 项目概述&#xff1a;语义搜索与轻量生成的完美组合 今天我们来聊聊一个特别实用的AI项目——GTESeqGPT组合。这个镜像把两个很厉害的模型打包在一起&#xff0c;让你能快速搭建一个智能问答系统…...

【LE Audio】ASCS精讲[7]: SDP互操作落地,蓝牙音频服务发现全解析

在LE Audio的技术体系中,Audio Stream Control Service作为音频流管理的核心服务,不仅深度适配低功耗蓝牙的LE链路,还兼顾了对传统蓝牙Basic Rate/Enhanced Data Rate的兼容支持。而SDP互操作性正是ASCS实现BR/EDR链路下设备间服务识别、通信协商的关键环节,相当于为BR/EDR…...

从智能小车到避障机器人:HC-SR04超声波模块在STM32上的三种高级应用

从智能小车到避障机器人&#xff1a;HC-SR04超声波模块在STM32上的三种高级应用 在创客圈子里&#xff0c;HC-SR04超声波模块就像瑞士军刀一样经典——价格亲民、接口简单&#xff0c;但能玩出的花样远超基础测距功能。今天我们不聊怎么用定时器测回波时间这种入门操作&#xf…...

终极指南:如何用LX Music桌面版免费畅享全平台海量音乐资源

终极指南&#xff1a;如何用LX Music桌面版免费畅享全平台海量音乐资源 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 你是否厌倦了各大音乐平台的会员限制&#xff1f;是否想要…...

告别错位检测!用S2A-Net搞定航拍图像中的任意方向目标(附PyTorch代码实战)

航拍图像目标检测实战&#xff1a;S2A-Net从原理到PyTorch实现 航拍图像中的目标检测一直是计算机视觉领域的难点——密集排列的车辆、任意角度的建筑物、形态各异的自然景观&#xff0c;这些目标在传统检测框架下常常出现特征错位问题。今天我们要深入探讨的S2A-Net&#xff0…...

如何一站式管理《原神》《星穹铁道》等热门游戏的模组?XXMI启动器终极指南

如何一站式管理《原神》《星穹铁道》等热门游戏的模组&#xff1f;XXMI启动器终极指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为不同游戏模组的繁琐安装和管理而烦恼…...

一站式游戏模组管理:XXMI Launcher终极使用指南

一站式游戏模组管理&#xff1a;XXMI Launcher终极使用指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 你是否厌倦了为每个游戏安装不同的模组管理器&#xff1f;想要一个统…...

SpringBoot项目里,如何优雅地集成ip2region实现离线IP定位(附完整工具类)

SpringBoot深度整合ip2region&#xff1a;构建高并发离线IP定位服务实战 当我们需要在电商平台分析用户地域分布、在内容平台实现地区化推荐、在风控系统中识别异常登录时&#xff0c;IP定位往往是第一个技术抓手。而ip2region这个不足10MB的离线库&#xff0c;却能提供99.9%准…...