1.闭包加作用域问题let test let a = ()=>{ let n=99 test = ()=>{ n++; } let a1 = ()=>{ console.log(n) } return a1 } let a1 = a() let a2 = a() test() a1() a2()打印结果是99 100函数声明了两次,有一次覆盖,最后的覆盖了前面的,要是只声明一遍,那么a1()打印的就是1002.作用域问题let a = 1function add(a){ return a = a + 1}console.log(a)add(a)console.log(a)function add(a){ return a = a + 4}add(a)console.log(a)打印 1 1 1反直觉自带坑的题3.找鼠标最近的a标签<!DOCTYPE html><html lang=“en”><head> <meta charset=“UTF-8”> <title>Document</title></head><body> <div id=‘wrap’> <a href="">链接1</a> <br> 最美的不是下雨天是你 <a href="">链接2</a> <br> 最美的不是 <a href="">链接3</a> <br> 最美的不是下雨 <a href="">链接4</a> 最美的不是下雨天 <a href="">链接5</a> <br> 最美的不是下雨天是你 <a href="">链接6</a> </div> <script> window.onload=function(){ let oa = document.getElementsByTagName(“a”); let arr = [] oa = Array.from(oa) oa.forEach(function(element, index) { arr.push([element.offsetLeft,element.offsetTop]) }); window.addEventListener(‘mousemove’,(e)=>{ let LEN =[] arr.forEach( function(element, index) { let len = Math.pow(Math.pow(Math.abs(e.clientX-element[0]),2)+Math.pow(Math.abs(e.clientY-element[1]),2),0.5).toFixed(3) LEN.push(len) }); let c = Math.min(…LEN) let key = LEN.indexOf(c.toString()) for(let i=0;i<oa.length;i++){ oa[i].style.color = “#999” } if(oa[key]){ oa[key].style.color = “red” } }) } // 最后来个防抖节流完美 </script></body></html>4.写vDom用对象表示dom结构根据json生成domdom变化记录变化在真实dom更新变化vdom好在哪里???看会了,不一定真的会写,你会写了,但是和面试官问的题会有些区别?自行拿捏一场面试说明不了你的能力,也影响不了我想做的事,我依然热爱,依然喜欢研究和学习,依然会继续我的源码架构方向,我不喜欢那种绕来绕去为了应付面试而学的基础,我不会因为面什么而看什么,我只想研究我想学的,把学到的分享给社区,我就很开心了,如果能够做开源,我会更开心的附上最新写的koa源码解读