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

相关推荐
知识分享小能手6 分钟前
Vue3 学习教程,从入门到精通,使用 VSCode 开发 Vue3 的详细指南(3)
前端·javascript·vue.js·学习·前端框架·vue·vue3
姑苏洛言23 分钟前
搭建一款结合传统黄历功能的日历小程序
前端·javascript·后端
你的人类朋友2 小时前
🤔什么时候用BFF架构?
前端·javascript·后端
知识分享小能手2 小时前
Bootstrap 5学习教程,从入门到精通,Bootstrap 5 表单验证语法知识点及案例代码(34)
前端·javascript·学习·typescript·bootstrap·html·css3
一只小灿灿2 小时前
前端计算机视觉:使用 OpenCV.js 在浏览器中实现图像处理
前端·opencv·计算机视觉
前端小趴菜052 小时前
react状态管理库 - zustand
前端·react.js·前端框架
zhuiQiuMX3 小时前
字节面试手撕中等题但还没做出来
面试
Jerry Lau3 小时前
go go go 出发咯 - go web开发入门系列(二) Gin 框架实战指南
前端·golang·gin
我命由我123453 小时前
前端开发问题:SyntaxError: “undefined“ is not valid JSON
开发语言·前端·javascript·vue.js·json·ecmascript·js