1. 说说你对 promise 的了解
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件监听——更合理和更强大。
所谓 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
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这个属性;