vue常问面试题

css(面试题)

实现垂直居中的方式:

  1. flex布局:设置父元素为display:flex; 使用 justify-content:center; align-item:center;来进行居中
  2. 块级盒子使用:margin: 0 auto;
  3. 行内元素:使用: text-align:center line-height:父级高度
  4. 使用位移:transform: translate(50%,50%)
  5. 使用定位:子绝父相 来进行定位

pc端如何实现响应式布局:

  1. 可以通过px和rem的转换来进行
  2. 在vue中可以通过插件postcss-pxtorem px2rem-loader lib-flexible来进行
  3. 通过 vh vw %来进行 媒体查询

js(面试题)

ES6的都有哪些新特征呢?

  1. let和const
    let和const: 不存在变量提升;只能声明一次,不能重复声明; 遇到大括号会有块级作用域;
    变量声明出来存在VO或者AO,不会给window中增加属性。
    var: 有变量提升 在全局中声明的变量,会给window增加一个属性
  2. 实现了数组的结构赋值和对象的结构赋值
  3. 展开运算符
  4. map和set和filter
    map和filter的区别是 :map是会进行改变原数组的,而filter的话,只是进行元素的筛选,不会改变元素的个数。
    5箭头函数
    6模板字符串

深拷贝和浅拷贝都有哪些? 区别是什么?
浅拷贝:

1.Object.assign() :把两个对象合并成一个对象。
如果使用Object.assign()也算是只有一层算是深拷贝。
有子级的情况下是算浅拷贝。
2展开运算符:进行的就是浅拷贝
3slice()
4concat() 方法也算是浅拷贝
使用concat来进行对象的话是一个深拷贝
深拷贝
1JSON.stringify()或者JSON.parse
用json会出现的问题: 它不可以拷贝 undefined , function, RegExp等类型。
2通过for in
3递归
4concat(数组的深拷贝) 使用concat合并数据,会返回一个新的数组。

你可能感兴趣的:(想法的汇总,vue.js,前端,javascript)