前端面试基础面试题——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这个属性;

相关推荐
YUELEI1184 分钟前
vue3 使用sass变量
前端·css·sass
Java_young17 分钟前
(十七) Nginx解析:架构设计、负载均衡实战与常见面试问题
nginx·面试·负载均衡
枣仁_22 分钟前
大型语言模型(LLM)深度解析
前端·javascript·面试
程序员马晓博28 分钟前
用上OpenManus啦,这玩意有点像...
前端
鱼樱前端30 分钟前
36道我命由我不由天的JavaScript 基础面试题详解
前端·javascript·面试
阿卡好可爱33 分钟前
锐势信息的面试
面试·职场和发展
嘉琪coder42 分钟前
显示器报废,win笔记本远程连接mac mini4 3种方法实测
前端·windows·mac
hrrrrb1 小时前
【CSS3】筑基篇
前端·css·css3
boy快快长大1 小时前
【VUE】day01-vue基本使用、调试工具、指令与过滤器
前端·javascript·vue.js