20

1-js 是单线程还是多线程? 单线程,单位时间内只能处理一个进程
单线程,单位时间内只能处理一个进程
JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事,为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完 全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。
2-let 和 var 声明变量的区别?
  js中let和var定义变量的区别,主要体现在作用于的不同。
var定义的变量是全局变量或者函数变量。
let定义的变量是块级的变量。
3-说说 async/await 的使用方式和场景
4-谈谈对 promise 的理解
1.代码结构更加扁平且更可读,清晰明了。
2.能解决回调地狱问题。

3.可将数据请求和业务逻辑分离开来。

4.便于管理维护。

5.能更好的捕获错误。

   6.Promise 是一个构造函数,对回调函数的一种封装,对异步编程的一种改进,用同步的方式表达出来。
5-箭头函数有什么作用和实际应用场景?
箭头函数适合于无复杂逻辑或者无副作用的纯函数场景下,例如:用在 map、reduce、filter 的回调函数定义中
箭头函数的亮点是简洁,但在有多层函数嵌套的情况下,箭头函数反而影响了函数的作用范围的识别度,这种情况不建议使用箭头函数
箭头函数要实现类似纯函数的效果,必须剔除外部状态。所以箭头函数不具备普通函数里常见的 this、arguments 等,当然也就不能用 call()、apply()、bind() 去改变 this 的指向
箭头函数不适合定义对象的方法(对象字面量方法、对象原型方法、构造器方法),因为箭头函数没有自己的 this,其内部的 this 指向的是外层作用域的 this

posted @ 2021-03-07 21:16  12138xx  阅读(29)  评论(0)    收藏  举报