前端面试题(基础)

1、addEventListener,第三个参数的作用
DOM方法 addEventListener() 需要3个参数,分别为事件名称(String)、要触发的事件处理函数(Function)、指定事件处理函数的时期或阶段(boolean)
当第三个参数设置为true就在捕获过程中执行,反之就在冒泡过程中执行处理函数。

2、js事件阶段(捕获>目标>冒泡),阻止冒泡有哪些方法

  • event.stopPropagation();
  • return false
  • event.preventDefault(); (阻止默认行为)

3、js执行顺序等,要熟悉事件循环机制

  1. js的执行顺序,先同步后异步
  2. 异步中任务队列的执行顺序: 先微任务microtask队列,再宏任务macrotask队列
  3. 调用Promise 中的resolve,reject属于微任务队列,setTimeout属于宏任务队列
<script type="text/javascript">
	(function() {
	
	    setTimeout(() => {                                            // 1、执行宏任务
	        console.log(0);                                           
	    });
	
	    new Promise(resolve => {
	        console.log(1);                                           // 打印
	
	        setTimeout(() => {                                        // 2、执行宏任务
	            resolve();                                            // 4、执行微任务
	            Promise.resolve().then(() => console.log(2));         // 5、执行微任务
	            console.log(3);                                       // 打印
	        });
	
	        Promise.resolve().then(() => console.log(4));             // 3、执行微任务
	
	    }).then(() => {
	        console.log(5);                                           // 打印     
	        Promise.resolve().then(() => console.log(8));             // 6、执行微任务
	        setTimeout(() => console.log(6));                         // 7、执行宏任务
	    });
	
	    console.log(7);                                               // 打印
	
	})();
	
	// 1,7,4,0,3,5,2,8,6
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值