记一次百度的二面的面试题

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()打印的就是100

2.作用域题目

let a = 1
function 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

  1. 用对象示意dom构造
  2. 依据json天生dom
  3. dom变化纪录变化
  4. 在实在dom更新变化

vdom幸亏那里???

Virtual DOM 真正的代价历来都不是机能,而是它
1) 为函数式的 UI 编程体式格局打开了大门;
2) 可以衬着到 DOM 之外的 backend,比方 ReactNative。

看会了,不一定真的会写,你会写了,然则和口试官问的题会有些区分?

自行拿捏

一场口试申明不了你的才能,也影响不了我想做的事,我依旧酷爱,依旧喜好研讨和进修,依旧会继承我的源码架构方向,我不喜好那种绕来绕去为了敷衍口试而学的基本,我不会由于面什么而看什么,我只想研讨我想学的,把学到的分享给社区,我就很高兴了,假如可以做开源,我会更高兴的

附上最新写的koa源码解读

    原文作者:织雪纱奈
    原文地址: https://segmentfault.com/a/1190000018528400
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞