• 经历过的面试题


    JS(含ES6)

    1. 第一个宏任务中含有多个微任务,第二个宏任务也这样,问执行顺序

    先执行宏任务 微任务会在第一个宏任务执行完之后再执行,之后是第二个宏任务
    

    2. let、var、const的区别

    var 可以重复声明一个变量,let不行
    var挂在再windows下
    const 声明了必须赋值 定义不可变的量,改变了就会报错
    

    3.const既然不可变,那他内部的属性如果改变了呢

    const p = {
          name:"123"
    }
    p.name = "1" // 这时属性可变
    p = {
          name:"1"
    } // 这时指针改变了 会报错
    

    4.什么是闭包?手写一个闭包

    可以访问外部函数的的内部函数
    
    function fun1(){
          var a = "外部变量"
          function fun2(){
                console.log(a)
          }
          return fun2
    }
    

    5.call跟apply以及bind的区别

    call 跟 apply 的区别在于 前者接受若干参数 后者 一个参数包含若干参数,这两者都会立即调用
    bind会先新创建一个函数,然后想调用的时候在执行
    三者都是改变this指向
    

    6.set跟map用过吗,说一下作用

    二者都是ES6语法
    set 创建一个不重复的数组
    
    map 转化为对象保存键值对
    
    

    7.现在有个数组[1,2,3,3] 用set去重保留数组格式

    var arr = new Set([1,2,3,3]) // 去重
    var arr2 = Array.from(arr) // 设置为数组格式
    

    8.for of 用过吗,可以用来循环什么

    可迭代对象都可以使用
    数组:
    const arr = [1,2,3]
    for (const value of arr){
          console.log(value) 
    } 
    // output
    // 1
    // 2
    // 3
    
    Map映射
    const iterable = new Map([['one', 1], ['two', 2]]);
    for (const [key,value] of iterable ) {
          console.log(`Key: ${key} and Value: ${value}`);
    }
    // Key: one and Value: 1
    // Key: two and Value: 2
    
    字符串就是一个个打印出来就不写了
    

    9.ES6中的解构 const [a,...arr,b] = [1,2,3,4] 输出什么

    坑,会报错
    

    vue

    1.vue模板里的data为什么是属性不是方法

    开始挖坑,其实vue里的data就是方法(这个社会简直险恶)
    至于为什么是方法不是属性,组件指向都是data,如果是属性data修改所有组件都会修改(被共享了),所以必须是方法,每复用一次都会产生新的实例,
    给组件创造私有的数据空间
    

    2.vue里的虚拟dom跟双向绑定

    虚拟dom:dom操作太多非常耗性能太耗费,render把template模板转化为虚拟dom.vue会在虚拟的节点模拟操作完 然后以最优的方式更新实际dom,优化了性能
    
    数据双向绑定:Component组件 在渲染时候会根据他们依赖的data去触发set这就是读,vue会收集依赖,而data数据变动会触动getter,监听回调render函数进行重新渲染,这时候他们已经组件发生了变化,然后虚拟dom会去调用diff算法,找到本次DOM更新的节点,其他不改动的地方会原地还原,减少页面重绘最终更新成真实dom
    
    
  • 相关阅读:
    SpringMVC+bootstrap-fileinput文件上传插件使用入门
    [Java]实现Comparable接口不严谨导致Comparison method violates its general contract!
    2021寒假ACM集训队第一次训练-搜索(一)
    第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛-热身赛
    2021蓝桥杯第三次训练赛
    2021年蓝桥杯第二次训练赛
    2021年蓝桥杯第一次训练赛
    HDU 1312 Red and Black
    HDU 1010 Tempter of the Bone
    HDU 3500 Fling
  • 原文地址:https://www.cnblogs.com/xujinglog/p/14081154.html
Copyright © 2020-2023  润新知