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()
- Promise是ES6中处理异步请求的语法,使用.then()来实现链式调用,使用.catch()来捕获异常。
- 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不久,接到一个iOS项目,其中有一个需求就是在一个 UITextField中只能输入数字和小数点,这个需求在Android中非常容易,只需要设置 <EditTextandroid:id"id/id_et_price"android:layout_width"match_par…...
阿珊详解Vue Router的守卫机制
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
python淘宝网页爬虫数据保存到 csv和mysql(selenium)
数据库连接设置(表和字段要提前在数据库中建好) # 数据库中要插入的表 MYSQL_TABLE goods# MySQL 数据库连接配置,根据自己的本地数据库修改 db_config {host: localhost,port: 3306,user: root,password: ma*****6,database: may2024,charset: utf8mb…...
云计算中仲裁节点和仲裁可用区介绍
在云计算中,仲裁是指当多个节点或实例之间发生争议或冲突时,由一个独立的第三方机构或节点来解决争议或冲突的过程。仲裁通常用于解决云计算中的资源分配、数据一致性、服务质量等问题。 仲裁的作用主要有以下几点: 1. 保证资源分配的公平性…...
Python的requests库发送HTTPS请求时,SSL证书验证的流程
建立连接:当你使用requests库发送HTTPS请求时,它会尝试与目标服务器建立安全的SSL连接。 获取服务器SSL证书:服务器会将自己的SSL证书发送给客户端(即你的请求)。 验证证书:requests库会验证服务器返回的…...
基于 HBase Phoenix 构建实时数仓(3)—— Phoenix 安装
目录 一、主机规划 二、Phoenix 安装 1. 解压、配置环境 2. 将 phoenix-server-hbase-2.5-5.1.3.jar 文件复制到 HBase 的 lib 目录中 3. 重启 HBase 集群 4. 安装验证 (1)连接 HBase (2)视图映射 (3…...
Python IDE
Python IDE 本文为大家推荐几款款不错的 Python IDE(集成开发环境),比较推荐 PyCharm,当然你可以根据自己的喜好来选择适合自己的 Python IDE。 PyCharm PyCharm 是由 JetBrains 打造的一款 Python IDE。 PyCharm 具备一般 Pyt…...
Vue3和Vue2的区别
Vue 3 是 Vue.js 的下一个主要版本,它引入了许多新特性和优化,与 Vue 2 相比有一些显著的区别。以下是一些主要的区别: 性能提升: Vue 3 提供了更快的虚拟 DOM,减少了渲染和更新时间。使用 Proxy 重写了响应式系统,使…...
【内推】新风口-大模型独角兽公司minimax
先上内推链接: MiniMax社招内推码: AK3XEJ6 投递链接: https://vrfi1sk8a0.jobs.feishu.cn/s/iFY5WFgE 岗位:前端、后端、算法,基础架构都有,大量hc 公司介绍: 国内同时拥有文本、语音、视觉三种基础大模型能力的创业…...
基于单片机的水平角度仪系统设计
目 录 摘 要 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语言开发的一个开源软件,是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则…...
微服务知识03
1、ES搜索引擎,高性能的分布式搜索引擎,底层基于Lucene 主要用于应用程序中的搜索系统 日志收集 2、基础概念 3、ES处理流程 5、下载中文分词器 Releases infinilabs/analysis-ik GitHub 6、分词模式 最细粒度拆分、智能分词 7、Elaticsearch配置流程 (1)把文件拖进…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
