前端面试基础面试题——10

[1. 说说你对 promise 的了解](#1. 说说你对 promise 的了解)

2.解构赋值及其原理

3.箭头函数需要注意的地方

4.箭头函数和普通函数有什么区别

[5.ES6 都有什么 Iterator 遍历器](#5.ES6 都有什么 Iterator 遍历器)

[6.jQuery 一个对象可以同时绑定多个事件,这是如何实现的?](#6.jQuery 一个对象可以同时绑定多个事件,这是如何实现的?)

[7.jQuery 库中的 () 是什么?](#7.jQuery 库中的 () 是什么?)

8.jquery怎么移除标签onclick属性?

9.JQuery有几种选择器?

[10.jquery中addClass, removeClass, toggleClass的使用。](#10.jquery中addClass, removeClass, toggleClass的使用。)

1. 说说你对 promise 的了解

Promise 是异步编程的一种解决方案,比传统的解决方案------回调函数和事件监听------更合理和更强大。

所谓 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。

2.解构赋值及其原理

解构赋值:其实就是分解出一个对象的解构,分成两个步骤:

  1. 变量的声明
  2. 变量的赋值

原理:ES6 变量的解构赋值本质上是"模式匹配", 只要等号两边的模式相同,左边的变量就会被赋予匹配的右边的值,如果匹配不成功变量的值就等于 undefined

3.箭头函数需要注意的地方

箭头函数有几个使用注意点。(1)函数体内的 this 对象,就是定义时所在的对象,而不是使用时所在的对象。(2)不可以当作构造函数,也就是说,不可以使用 new 命令,否则会抛出一个错误。 (3)不可以使用 arguments 对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。 (4)不可以使用 yield 命令,因此箭头函数不能用作 Generator 函数。

4.箭头函数和普通函数有什么区别

函数体内的 this 对象,就是定义时所在的对象,而不是使用时所在的对象用 call apply bind 也不能改变 this 指向

不可以当作构造函数,也就是说,不可以使用 new 命令,否则会抛出一个错误。

不可以使用 arguments 对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

不可以使用 yield 命令,因此箭头函数不能用作 Generator 函数。

箭头函数没有原型对象 prototype

5.ES6 都有什么 Iterator 遍历器

Set、Map

1、遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)

2、Iterator 的作用有三个:

一是为各种数据结构,提供一个统一的、简便的访问接口;

二是使得数据结构的成员能够按某种次序排列;

  • 三是 ES6 创造了一种新的遍历命令 for... of 循环,Iterator 接口主要供 for... of 消费。

3、默认部署了 Iterator 的数据有 Array、Map、Set、String、TypedArray、arguments、NodeList 对象,ES6 中有的是 Set、Map、

6.jQuery 一个对象可以同时绑定多个事件,这是如何实现的?

jQuery 可以给一个对象同时绑定多个事件,低层实现方式是使用 addEventListner 或 attachEvent 兼容不同的浏览器实现事件的绑定,这样可以给同一个对象注册多个事件。

7.jQuery 库中的 $() 是什么?

在JQUERY中代表获取的意思,是一个回调函数,使用()函数可以获取元素对象,根据获取的元素对象使用JQUERY方法对其进行操作,语法为$( " 想要获取的元素" )

8.jquery怎么移除标签onclick属性?
复制代码
获得a标签的onclick属性: $("a").attr("onclick")
删除onclick属性:$("a").removeAttr("onclick");
设置onclick属性:$("a").attr("onclick","test();");
9.JQuery有几种选择器?
复制代码
(1)、基本选择器:#id,class,element,*;
(2)、层次选择器:parent > child,prev + next ,prev ~ siblings
(3)、基本过滤器选择器::first,:last ,:not ,:even ,:odd ,:eq ,:gt ,:lt
(4)、内容过滤器选择器: :contains ,:empty ,:has ,:parent
(5)、可见性过滤器选择器::hidden ,:visible
(6)、属性过滤器选择器:[attribute] ,[attribute=value] ,[attribute!=value] ,[attribute^=value] ,[attribute$=value] ,[attribute*=value]
(7)、子元素过滤器选择器::nth-child ,:first-child ,:last-child ,:only-child
(8)、表单选择器: :input ,:text ,:password ,:radio ,:checkbox ,:submit 等;
(9)、表单过滤器选择器::enabled ,:disabled ,:checked ,:selected
10.jquery中addClass, removeClass, toggleClass的使用。

(selector).addClass(class):为每个匹配的元素添加指定的类名 (selector).removeClass(class):从所有匹配的元素中删除全部或者指定的类,删除class中某个值; (selector).toggleClass(class):如果存在(不存在)就删除(添加)一个类 (selector).removeAttr(class);删除class这个属性;

相关推荐
羲云4 分钟前
Claude 越界事件之后:Agent 权限设计为什么不能只靠提示词
前端
怕浪猫17 分钟前
Agent 工程化面试:从开发到部署的 5 个关键问题
面试·架构·github
行者全栈架构师17 分钟前
【鸿蒙心迹】鸿蒙网络请求架构实战——@ohos.net.http 到 Axios 封装、拦截器与统一错误处理(HarmonyOS 7.x)
前端·算法·架构
全栈Agent 小李25 分钟前
【无标题】
前端·后端·agent·ai编程·全栈·cursor·mcp
羲云25 分钟前
别让 AI 凭记忆做调研:给 WorkBuddy 接上可核验的实时搜索
前端
deli0071 小时前
连接池到底配多大?QPS 和 RT 算一遍,再跑 1 万次请求实测超时率
前端
用户6919026813391 小时前
LangChain 与 LangGraph:从「链」到「图」,一次讲清它们是什么、什么关系
面试·架构·设计
风花一世月1 小时前
🏮 我把三坊七巷做成了能飞的 3D 地图(901 个真实建筑轮廓、20 处景点,在线直接玩)
前端
特立独行的猫A1 小时前
用仓颉语言写一个串口调试助手:cj-tauri 实战
前端
小凯在掘金1 小时前
Shadow DOM 和 Virtual DOM ?别再傻傻分不清
前端·html