- queryselector(selector):返回与制定元素与selector相同的第一个html元素
- queryselecto让All(selector)返回与selector相同的所有元素
-
addEveentListener();事件监听
-
let定义的变量可以进行复制操作改变变量的值;const不能够进行赋值操作进行更改变量的内容,例如const定义的变量存储的为对象的时候,可以进行对象属性的修改,但不能进行复制修改,
-
定义变量后,再对变量进行复制操作来改变变量的内容,进行复制操作的语句具有副作用
-
尽量多用const,少用let,let定义的变量大都在后期会进行修改变量内容,副作用语句较多,较难维护,const定定义的变量,无副作用语句,维护起来比较简单
-
“.文件名”,这种方式的文件名称,表示这个文件是隐藏文件
-
react中的children是在自组件中获得父组件的所有子节点
-
类是创建对象的模版,不同的类产生不同类型的对象
-
异步:简单说就是一个任务分成两段,先执行一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段
-
javascript 语言对异步编程的实现,就是回调函数。所谓回调函数,就是把任务的第二段单独写在一个函数里,等到重新执行这个任务的时候,就直接调用这个函数。它的英文名字callback,直译过来就是“重新调用”
-
为什么nodejs约定,回调函数的第一个参数,必须是错误对象err(如果没有错误,该参数就是null)?
原因:因为执行分成两段,在这两段之间抛出的错误,程序无法扑捉,只能作为参数,传入第二段
-
promise是为了解决回调函素地狱(callback hell)而提出的。他不是新的语法功能而是一种新的写法,允许将回调函数的嵌套,改成链式调用。
-
promise 提供then方法加载回调函数,catch方法扑捉执行过程中抛出的错误
-
Generator(协程)函数:多线程互相协作,完成异步任务。协程有点像函数、又有点像线程。他的运行流程大致如下:
第一步,协程A开始执行。
第二步,协程A执行到一半,进入暂停,执行权转移到协程B
第三步,(一段时间后)协程B交还执行权
第四步、协程A恢复执行
上面流程的协程A,就是异步任务,因为它分成两段(或多段)执行
-
Generator函数最大特点就是可以交出函数的执行权
-
整个Generator函数就是一个封装的异步任务,或者说是异步任务的容器。异步操作需要暂停的地方都要用yield语句注明。Generator函数执行方法如下:
function* gen(x){
var y=yield x+2;
return y;
}
var g=gen(1);
g.next() //{value:3,done:false}
g.next() //{value:undefined,done:true}
-
类的数据类型是function;类的所有方法都定义在类的prototype属性上面;在类的实例上面调用方法,其实就是调用原型上的方法
-
由于类的方法都定义在prototype对象上,所以类的新方法可以添加在prototype对象上。object.assign方法可以很方便地一次向类添加多个方法
-
prototype对象的constructor属性,直接指向类的本身
-
类的内部所有定义的方法,都是不可枚举的
-
constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显示定义,一个空的constructor方法会被默认添加
-
类的构造函数,不使用new是没法调用的,会报错。这是它跟普通构造函数的一个主要区别,后者不用new也可以执行
-
生成类的实例对象的写法,与ES5完全一样,也是使用new命令。
-
实例的属性除非显示定义在其本身(即定义在this对象上),否则都是定义在原型上(即定义在class上)。
-
类的所有实例共享一个原型对象
-
Class不存在变量提升
-
Iterator(遍历器):它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作
-
Iterator的作用:
为各种数据结构提供一个统一的、简便的访问接口
使得数据结构的成员能够按某种次序排列
ES6创造了一种新的遍历命令for…of循环,Iterator接口主要供for…of消费 -
Iterator的遍历过程:
创建一个指针对象,指向当前数据结构的起始位置。也就是说,遍历器本质上,就是一个指针对象
第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员
第二次调用数据结构的next方法,指针就指向数据结构的第二个成员
不断的调用指针对象的next方法,直到他指向数据结构的结束位置
每一次调用next方法,都会返回数据结构的当前成员信息。具体来说,就是返回一个包含value和done两个属性的对象。其中,value属性是当前成员的值,done属性是一个布尔值,表示遍历是否结束