web前端面试

89 阅读1分钟
  1. 数据类型和区别
    • 基本类型:Number、String、Boolean、Null、undefined
    • 引用类型:object(包含Object 类型、Array 类型、Date 类型、RegExp 类型、Function 类型
    • 区别:
      • 基本类型的值是不可变的,应用类型的值是可变的
      • 基本类型的比较是值比较,应用类型的比较是引用比较
      • 基本类型的变量是存放在栈区的,应用类型的变量是同时存放在栈区和堆区的
  2. let var const的区别参考
    • 提出时间
    • 能否重复声明 var可以
    • 是否是块级作用域
    • 是否存在变量提升
    • 是否存在暂时性死区
    • 能否修改
  3. 块级作用域
在一个代码块(括在一对花括号中的一组语句)中定义的所有变量在代码块的外部是不可见的。
  1. 数组常用操作[{}]
let arr = [{}]
for(let i in [1,2]){
    arr[i].name = 'abc'
}
arr.forEach(item =>{item.name = 'abc'})
console.log(arr)
  1. vue父子组件通信

    • props
    • emit/v-on@

    兄弟组件

  2. vue 双向绑定原理

    • vue数据双向绑定通过‘数据劫持’ + 订阅发布模式实现
    • vue 2.0 Object.definedProperty()
      get set vue3.0 proxy
  3. 水平垂直居中

    • flex
    • 定位 父 relative 左上50% translate: transformX:-50% transformY:-50%;
    • text-align:center;vertical-align: middle;