个人复习笔记

个人收藏的文章

  1. JavaScript 开发者应懂的 33 个概念

JS是单线程语言

很重要
对应讲得比较好的文章
也就是说JS的事件要排队执行,但是我们要注意同步任务和异步任务,至于哪些是异步任务哪些是同步任务就要靠平时的积累或者上网查。
当我们打开网站时,网页的渲染过程就是一大堆同步任务,比如页面骨架和页面元素的渲染。而像加载图片音乐之类占用资源大耗时久的任务,就是异步任务
常见的setTimeout就是异步任务,JS遇到他会先把他放到even table,先执行主线程的同步任务,同步任务执行完以后才执行异步任务

判断是同步还是异步

同步
  1. 放进主线程执行
  2. 执行完后看even queue(异步任务准备就绪队列),如果有就把队列移到主线程执行
异步
  1. 放进even table(异步执行队列),当满足条件,就放进even queue(异步任务准备就绪列表) ,例如setTimeout({function( ){ }},3000)设置3s后执行,当3s后就放入even queue。
  2. 在even queue里的事件会等主线程的事件执行完了才能执行,然后又重复循环。

宏任务与微任务

执行机制是先执行一段宏任务,注意是一段,script是宏任务,也就是说先执行script里的所有事件,然后遇到同步任务就直接执行,异步任务就放在宏任务的even table然后满足条件放到even queue(这是宏任务的even queue,一定要注意),等这个宏任务执行完后会去查看执行过程中遇到的微任务,执行完后再执行宏任务,如此循环。

JavaScript的7种数据类型

1:number(数字),2:boolean(布尔),3:string(字符串),4:undefined(未定义),5:null(空),6:symbol(ES6新增),7:object(对象)

闭包

定义在一个函数里的函数就是闭包
一句话来概括就是:能够读取其他函数内部变量的函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值