JS 常见问题解读
2020-08-05 本文已影响0人
李秀成
CORS
跨域资源共享,它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
1、简单需求:head get post
2、非简单需求:put delete or Content-Type 字段的值是application/json(非简单请求会在通信开始时进行预检请求options)
AJAX
- 中断AJAX请求
1、设置超时时间
2、调用ajax.abort()
事件代理
事件委托是指将事件绑定到目标元素的父元素上,利用冒泡机制触发该事件
target、currentTarget的区别
currentTarget:当前所绑定事件的元素
target:当前被点击的元素
任务队列
主线程队列执行完毕后,事件循环机制会执行任务队列,任务队列包括微任务队列和宏任务队列
微任务:script(整体代码),setTimeout,setInterval,setImmediate,I/O,UI rendering;
宏任务:process.nextTick,Promise,Object.observe(已废弃),MutationObserver(html5新特性)
setTimeout/Promise等我们称之为任务源。而进入任务队列的是他们指定的具体执行任务。
setTimeout/Promise等我们称之为任务源。而进入任务队列的是他们指定的具体执行任务。
优先级
微任务 > 宏任务
微任务:process.nextTick > Promise.then
宏任务:setTimeout > setImmediate