前言
每天来三道题边回顾知识,边学习新的知识,也可以发现自己的不足,不断前进吧!
1.什么时候不使用箭头函数? 说出三个或更多的例子?
不应该使用箭头函数一些情况:
- 当想要函数被提升时(箭头函数是匿名的)
- 要在函数中使用
this/arguments时,由于箭头函数本身不具有this/arguments,因此它们取决于外部上下文 - 使用命名函数(箭头函数是匿名的)
- 使用函数作为构造函数时(箭头函数没有构造函数)
- 当想在对象字面是以将函数作为属性添加并在其中使用对象时,因为咱们无法访问
this即对象本身。
2.new 关键字有什么作用?
function Person(name,age,sex){
this.name = name;
this.age = age;
this.sex = sex;
};
const per = new Person("POLO",18,"男");
new关键字做了4件事:
- 创建空对象 {}
- 将空对象分配给 this 值
- 将空对象的__proto__指向构造函数的prototype
- 如果没有使用显式return语句,则返回this
3. 有哪些方法可以处理 JS 中的异步代码?
- 回调
- Promise
- async/await
- 还有一些库:async.js, bluebird, q, co