js事件,线程,定时器
程序员文章站
2022-03-06 13:49:15
...
js单线程:同一时刻只能执行一段代码,按书写顺序执行。
定时器:代码会放到任务队列执行,始终会在单线程后执行。
事件循环:就是不断的把定时器等事件放回到主线程执行。
它们解决了事件堵塞的问题,不需要把所有事件都同步执行。
- html代码
<button onclick="alert('哈哈')">按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
<button onclick="se(event)">按钮4</button>
- 选择按钮
const btn=document.querySelector("button:nth-of-type(2)");
btn.addEventListener("click",()=>console.log(1)); //测试按钮
- 事件删除
let showtime=()=>console.log('事件');
btn.removeEventListener("click",btn);
- 事件派发
const btn3=document.querySelector("button:nth-of-type(3)");
let j=0;
btn3.addEventListener("click",()=>{
console.log("加钱:"+j+"元");
j+=1;
});
setTimeout(()=>console.log(2),2000);//一次性定时器函数
setInterval(()=>console.log(2),2000);//间歇性定时器
- 事件冒泡
子元素的同名事件,会沿着父级一级一级向上依次触发同名事件。
function se(eve){
console.log(eve.type);
}
上一篇: PHP数据类型