同步·异步代码
同步:代码的书写顺序和代码的执行顺序一样。
异步:代码的书写顺序和代码的执行顺序不一样。
98%代码都是同步代码。
- 在JS中,异步代码仅仅是个别:
1)事件绑定
2)定时器
3)ajax
…
// document.getElementsByTagName("button"); 存储在堆中
let btns = document.getElementsByTagName("button"); // 数组
// 只要打点 点前面肯定也是一个容器
// 容器:
// 数组:var arr = ["a","b"]; arr[0];
// 对象:var obj = { name:"wc",age:100 }; obj.name
// 每一个元素对象默认里面就有很多的属性 其中有一个叫onclick
// 函数肯定要调用 当我们点击了第1上按钮,浏览器会帮我们调用后面的函数
btns[0].onclick = function () {
console.log(0)
}
// 给元素注册点击事件 btn叫事件源
// click叫事件类型
// funciotn 事件处理程序 事件发生时做什么
btns[1].onclick = function () {
console.log(1)
}
btns[2].onclick = function () {
console.log(2)
}
-
点击只能打印出3,异步代码浏览器在执行时直接忽略掉
-
利用闭包实现
-
利用自定义属性解决
-
使用let
let与大括号形成块级作用域,(可以当成执行上下文,每循环一次产生一个执行上下文)