浅谈一下那些年经历过的面试题

123 阅读2分钟

关于this指向

环境对象this:谁调用我我就指向谁

  • 普通函数 函数名( ) this指向对象winder

  • 对象方法 对象名.方法名( ) this指向对象

  • 构造函数 new 函数名( ) this指向new创建实例对象

  • 箭头函数this指向 箭头函数没有this指向如果有上一级就指向他的上一级

let fn = function () {  
            console.log(this);
        }
        //普通函数
        fn()//winder
        //构造函数
        new fn()//指向fn
        // 对象方法
        let obj = {
            name: '张三',
            eat: fn
        }
        obj.eat()//指向obj

闭包介绍

  • 闭包是什么:闭包是一个访问其他函数内部变量的函数

  • 闭包组合=函数+上下文引用

  • 其作用:解决变量污染:一般用于回调函数

      let num = 10
      // fn1 + 访问num 组合才叫闭包
      function fn1() {
        console.log(num)
      }
      fn1()
    }

    fn() 

闭包案例

            //1.获取用户搜索的内容
            let txt = document.querySelector('input').value
            //2.网络请求 : 不是立即就能出结果的,网络请求需要时间的。
            //使用定时器来模拟请求
            setTimeout(function(){
                alert(`${txt}的搜索结果如下:123条`)
            },1000)
        }

递归案例

  • 递归函数:一个函数在内部调用自己

  • 递给作用和循环类似的也需要有结束条件

递归引用

Snipaste_2022-04-27_18-44-54.png

递归应用

- 浅拷贝与深拷贝

  • 方式一:JSON方式实现 let newObj = JSON.parse( JSON.stringify( obj ) )

  • 方拾二递归

关于浅拷贝与深拷贝

Snipaste_2022-04-27_18-53-13.png

人生得耐得住寂寞,兴致勃勃地学习,也得忍受得住孤独。“书山有路勤为径,学海无涯苦作舟。”勤奋与苦学,都将会令你的人生褶褶生辉。“天才出于勤奋”,“天才是百分之一的灵感,加上百分之九十九的汗水。”都说明勤奋与苦学的巨大作用,对人生难以比拟的影响。人生深入地进行创造,甚至创新,开辟人生的丰收景象。