奇安信秋招/春招
3.11 春招一面
const func = async ()=>{
     console.log('hello');
    await pause(1000); // 暂停1秒
      console.log('world');
}
实现 pause 方法 12.6 秋招一面
1. js声明变量方式、以及let const var区别、除了这个还有别的声明变量方式吗
2. js数据类型,怎么判断null? null和undefined区别?
-    === null判断 
-    null 空值(空指针对象),表示一个对象被认为重置为空对象,在内存中表示栈中的变量没有指向堆中的内存对象 
-    undefined 声明一个变量,没有赋值;访问对象不存在的属性或者未定义的变量 
3. 怎么判断一个数据类型是数组?
-    typeof返回一个字符串,表示未经计算的操作数类型 (object,function可以判断的) typeof(null) //object 
-    instanceof返回一个布尔值,可以准确判断复杂引用数据类型 instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上 
-    Object.prototype.toString.call(),统一返回[object xxx]的字符串 
-    判断数组? 除了上述方法, isArray方法可以判断 constructor也可以判断,但是可以人为修改 const arr = [ ] arr.constructor === Array //true 
4. 引入js的方式,import是什么规范?
1. <script src="....js"> 2. improt ES6的标准
5. Promise.all?Promise一般怎么用
-    Promise.all 方法接收一个Array,Map,Set类型的输入,并且只返回一个Promise实例, 那个输入的所有promise的resolve回调的结果是一个数组。这个Promise的resolve回调执行是在所有输入的promise的resolve回调都结束,或者有任何一个输入的promise的reject回调执行或者输入不合法的promise就会立即抛出错误,并且reject的是第一个抛出的错误信息。 
-    Promise用法 主要应用于向发服务端发起请求等异步操作; Promise.all实现并行执行任务 then链可以实现按顺序执行的任务 
6. 绝对定位、相对定位?position取值
7. this是什么?改变this指向的方式,以及他们的区别
this指当前执行上下文的一个属性。在非严格模式下,总是指向一个对象,在严格模式下可以使任意值
this永远指向最后调用它的那个对象
改变this指向的方式:
-    call() 接受若干个参数列表 
-    bind() 创建一个新的函数,在手动调用时才会运行 
-    apply() 调用一个函数,其具有一个指定的this值,以及作为一个数组提供的参数(接受一个包含多个参数的数组) 
8. 箭头函数和普通函数区别
-    箭头函数的this指向的是父级作用域的this,是通过查找作用域链来确定 this 的值也就是说,看的是上下文的 this,指向的是定义它的对象,而不是使用时所在的对象;普通函数指向的是它的直接调用者。 
-    箭头函数不能使用new来创建 
-    不可以使用arguments对象 
