面试总结(1)

js

es6
es6是基于es5的进一步改进,es6新增了一些特性,相对于es5更简洁,提高了开发效率
1、let声明变量和const声明常量,两个都是块级作用域。es5中没有块级作用域,并且var有变量提升,在let中使用的变量一定要进行声明,const声明常量只能声明一次。
2、箭头函数
es6中的函数定义不再使用function(),而是利用()=>来进行定义
箭头函数和普通函数的区别
箭头函数的this永远指向其上下文的this,任何方法都改变不了其指向,如call(),bind(),apply() 。
普通函数的this指向调用它的那个对象。
箭头函数是匿名函数,不能作为构造函数,不能使用new
箭头函数没有原型属性
箭头函数不能绑定arguments,取而代之用rest参数…解构
call、apply、bind 区别 :
call、apply 是立即调用 ,bind返回对应函数,便于稍后调用
都可以在函数调用时传递参数。call和bind方法需要直接传入,而apply需要以数组的形式传入。
改变this对象的指向问题不仅仅有call,apply,bind方法,也可以使用that变量来固定this的指向。
解构赋值: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值
: 展开运算符
class类的继承: 在class里面必须存在constructor,在constructor里面必须写super,extends就代表这继承的意思,super就是指向父类的构造函数,指代了整个prototype对象或者_proto_指针指向的对象,在ES6里面呢也是相同的意思,可以省去不少代码和原型链的过程。
async、await : async/await是JavaScript为了解决异步问题而提出的一种终极解决方案。async 表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果。在没有await的情况下执行async函数,它会立即执行,返回一个Promise对象,并且,绝不会阻塞后面的语句。
Promise
promise有三个状态:
1、pending[待定]初始状态
2、fulfilled[实现]操作成功
3、rejected[被否决]操作失败
当promise状态发生改变,就会触发then()里的响应函数处理后续步骤;
promise状态一经改变,不会再变。
状态只有两种可能 分别是resolve和reject promise完成后.then()返回一个新的Promise实例,所以它可以链式调用
Promise会自动捕获内部异常,并交给rejected响应函数处理.catch(()=>{错误处理函数}) 另一种方法 .then(()=>{},()=>{错误处理逻辑})

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值