拉勾大前端高薪训练营013期 网盘分享

Download: 拉勾大前端高薪训练营013期 网盘分享

拉勾大前端高薪训练营 - 学前知识储备

JavaScript开发者应懂的33个概念
Call stack(调用栈)
调用栈是解释器(比如浏览器中的 JavaScript 解释器)追踪函数执行流的一种机制。当执行环境中调用了多个函数时,通过这种机制,我们能够追踪到哪个函数正在执行,执行的函数体中又调用了哪个函数。

每调用一个函数,解释器就会把该函数添加进调用栈并开始执行。
正在调用栈中执行的函数还调用了其它函数,那么新函数也将会被添加进调用栈,一旦这个函数被调用,便会立即执行。
当前函数执行完毕后,解释器将其清出调用栈,继续执行当前执行环境下的剩余的代码。
当分配的调用栈空间被占满时,会引发“堆栈溢出”错误。
function greeting() {
// [1] Some codes here
sayHi();
// [2] Some codes here
}
function sayHi() {
return "Hi!";
}

// 调用 greeting 函数
greeting();

// [3] Some codes here
上面的代码会按照如下流程这样执行:

忽略前面所有函数,直到 greeting() 函数被调用。
把 greeting() 添加进调用栈列表。
执行 greeting() 函数体中的所有代码。
调用栈列表:

  • greeting
    代码执行到 sayHi() 时,该函数被调用。
    把 sayHi() 添加进调用栈列表。
    执行 sayHi() 函数体中的代码,直到全部执行完毕。
    调用栈列表:
  • sayHi
  • greeting
    返回来继续执行 greeting() 函数体中 sayHi() 后面的代码。
    删除调用栈列表中的 sayHi() 函数。
    当 greeting() 函数体中的代码全部执行完毕,返回到调用 greeting() 的代码行,继续执行剩下的 JS 代码。
    调用栈列表:
  • greeting
    删除调用栈列表中的 greeting() 函数。
    一开始,我们得到一个空空如也的调用栈。随后,每当有函数被调用都会自动地添加进调用栈,执行完函数体中的代码后,调用栈又会自动地移除这个函数。最后,我们又得到了一个空空如也的调用栈。

JavaScript Promise

什么是 Async/Await?
Async - 定义异步函数(async function someName(){...})

自动把函数转换为 Promise
当调用异步函数时,函数返回值会被 resolve 处理
异步函数内部可以使用 await
Await - 暂停异步函数的执行 (var result = await someAsyncCall()

上一篇:Linux安装redis与配置


下一篇:async/await