温习日志-6

温习日志

——2023年1月16日下午 b站学习地址

学习内容

  • JS高阶总览
  • JS的引擎和运行时间
    1. JS知名的引擎有Chrome的V8、火狐的spiderMonkey等等
    2. JS的引擎有调用栈和堆
    3. JS是及时编译的语言
    4. DOM、Timer、Fetch API都是web的api不是JS原生的
    5. 运行时分为引擎、web APIs和回调队列
    6. 当调用栈中都处理完后,回调队列的回调函数会进入回调栈,这时候就形成了事件循环
  • 执行上下文和回调栈
    1. 变量环境、作用域链和this关键字在执行上下文中
    2. argumentsthis关键字不在箭头函数中
    3. 在代码中直接声明的是全局作用域
    4. 在函数中声明的是函数作用域,只有在函数内部可使用
    5. 全局变量会首先进入回调栈中,其次是函数,然后逐级进入
  • 作用和作用域链
    1. 作用域分为三种,全局作用域、函数作用域和块级作用域
    2. 只有子作用域可以访问上级父级作用域
    3. var没有块级作用域,只有letconst才有块级
    4. 同级的作用域是不能互相访问的
    5. 块级作用域中,直接声明函数通过函数语句的形式,该函数是没有块级作用域的
  • 提升
    1. 函数语句的声明和var声明变量是存在提升的,会提升至代码的顶部执行
    2. 匿名函数不存在提升
  • this关键字
    1. 箭头函数没有自己的this
    2. this指向函数的直接调用者
    3. 如果有new关键字,this指向new出来的这个对象
    4. 如果是先获取函数,后续再调用函数,这时候如果是严格模式,则this指向undefined
    5. 在非严格模式下,全局的thiswindow对象
    6. var声明的变量是存储在window对象中的,letconst不是
  • 原始变量 vs. 对象
    1. 原始变量是直接存储在调用栈中的
    2. 对象在调用栈中存放了指针,指针指向堆中的存储数据
    3. Object.assign({}, 对象1)可以对{}进行对象1的浅拷贝

明日计划

  • 明天准备十二点起床
  • 一点开始学习JS基础知识,晚上五点半结束
  • 晚上六点半进行React的基础学习,八点半结束
  • 九点开始Express JS的学习,学习至十点左右
posted @ 2023-01-24 02:23  这样那样如此如此  阅读(18)  评论(0)    收藏  举报