学习笔记:JavaScript闭包,Promise,可以截图成PPT的内容【诗书画唱】
推荐:


目录:
JavaScript闭包 - Web前端工程师面试题讲解
JavaScript 你理解Promise吗 - Web前端工程师面试题讲解

JavaScript闭包 - Web前端工程师面试题讲解
理解闭包的学习笔记:

作用:1.减少创建全局变量 减少传递给函数的参数量
2.隐藏变量,避免全局污染
3.可以读取函数内部的变量
(同时闭包使用不当,优点就变成了缺点)




闭包的话,对于一些面试初级的前端工程师可能不是很重要,但对于一些面试一些中,高级的前端工程师来说,闭包可能是必考的知识点。理解闭包可以让我们对JS有更深入的了解。

可以把“闭包”理解成:拉上拉链的装了书的书包,要用书的时候就是把书包的拉链打开,去取书。

这里这个代码为什么会错?因为在全局执行上下文的时候,没有进入books这个函数里面,且函数外面没有找到book这个变量。执行上下文可以分为创建阶段和执行阶段。

执行上下文可以理解为执行环境



这里闭包的执行顺序是:1-2-3-4-5-4-3-2-1(像是把在罐子里,放入薯片后取出薯片的过程)

"薯片"的执行,存放形式就是“栈"

为什么要用薯片罐模拟?因为JS是单线程的(单线程就是:一次做一件事情。)


理解闭包的关键之一是:理解执行上下文和其中创建阶段的作用域链,作用域链可以理解为:由当前变量对象和所有父级变量对象组成的集合。








JavaScript 你理解Promise吗 - Web前端工程师面试题讲解



new Promise 回有2个结果:成功和失败,成功就是reslove,失败就是reject。new Promise 是要一段时间后才能知道,所以
Promise 是回调的升级版。在执行要花费较长时间的程序的时候就可以用Promise来进行异步的处理,防止阻塞。



用then捕获resolve,用catch捕获reject

x => x * x 相当于 function(x){return x*x}



