2020-10-19--红宝书第四版第一章之async、defer、load事件、var、let、const

async:异步,立即开始下载,但不能阻止其他页面的操作,比如其他脚本加载。
defer:延迟加载。
如上只对外部

页面加载出现空白?
把js放在元素中的最后面,即的前面。

异步脚本保证在load事件前执行,但可能在DOMContentLoaded之前或者之后执行。
load事件:DOM加载完毕 + 样式表 + 图片都完成加载时,将触发load。
DOMContentLoaded:只加载DOM完成后。
DOMContentLoaded…----load.

var:声明提升,值不会提升。
let: 范围是块作用域,块作用域是函数作用域的子集。
与var不同的是1.不会提升。2.不会成为window对象的属性。

for循环中的let声明:
1.在let出现之前,for循环定义的迭代变量会渗透到循环外部中,因为在退出循环时,迭代变量保存的是导致循环退出的值。
for(var i=0;i<5;i++){
}
console.log(i)//5
2.在let声明迭代变量时,JS引擎在后台会每个迭代声明一个新的迭代变量,每个setTimeout引用的都是不同的变量实例。
for(let i=0;i<5;i+=){
setTimeout(()=>console.log(i),0) // 0,1,2,3,4;
}
每次迭代声明一个 独立变量实例的行为适用于所有风格的for循环,包括for – in和for --of循环。

const: 与let不同的地方。
1.赋值为对象的const变量是不能再被重新赋值为其他引用,但对象的键值不受影响,但let可以。
2.定位的变量必须初始化。
3.定义常量后就不能再赋值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值