简短记录

1let声明的变量不存在变量提升,var声明的变量存在变量提升,当使用function定义时,这个函数都会 被提升到当前作用域的顶部
2let变量会形成块级作用域,声明的属性并没有添加到window对象中。
3setTimeout属于宏任务,当计时任务完成后函数内的方法进入到主线程,如果主线程没有执行完例如休眠,宏任务中的代码块也不会执行。
4new Promise中代码块会立即执行,then catch才会触发微任务,process.nextTick代码内属于微任务。
5setTimeout执行环境中会将里面的微任务执行完毕,继续执行下一个setTimeout
6a.fn.call(a) 相当于a.fn()调用a的作用域

推荐阅读更多精彩内容

  • let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...
    嘉奇呦_nice阅读 1,297评论 0 2
  • JavaScript的相关语法知识:1、函数(important)基本上所有的高级语言(C、OC、JavaScri...
    天山雪莲_38324阅读 367评论 0 2
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 24,264评论 1 45
  • 在夜晚的书桌旁,写下与你有关的思念 在清晨的微光下,展开与你有关的笑颜 在和煦的春风中,描绘与你相似的容颜 在热烈...
    寒夜潇潇阅读 103评论 0 1
  • 一般来说,如果需要修改UIAlertController的标题(title)、内容(message)的字体和颜色,...
    WeiHing阅读 12,473评论 3 5