面试反复被问到的问题(高频面试问题)
1.一个盒子垂直水平居中有哪些方法?回答2种到3种以上
方法1:宽度高度已知
父元素相对定位,
子元素绝对定位,
left:50%;top:50%;
margin-left:负的宽度一半
margin-top:负的高度一板
方法二:flex布局,宽度高度已知
在父元素身上:
display:flex;
justify-content:center;
align-items:center
方法三:父元素相对定位,子元素绝对定位+平移transform:translate(-50%,-50%)
2.flex:1含义
flex是由三个属性组成
flex-grow 放大bil
flex-shrink 缩小比例
flex-basis 项目长度
3.rem为什么可以实现自适应布局?在不同手机端表现是什么?
rem是基于html的字体大小进行布局,
4.vue传值
父传子:
通过v-on绑定一个变量名称,然后在子组件里面用props接收就可以了
子传父:
在子组件里面绑定一个方法,将这个参数传入之后用$emit(函数名,变量名)里面的参数是父组件中定义的一个方法名称以及参数,父组件定义好找个方法并接受参数,即可使用
5.vue双向绑定原理?
1.数据劫持objectDefinePropoty进行数据劫持
2.数据劫持之后,通过发布订阅模式
6.跨域是有哪几种方式实现的?
jsonp,nigix代理,websocket以及后端修改header
7.普通函数和箭头函数的this,以及怎么改变普通函数里面的指向?
1.this总是代表他的直接调用者,例如:obj.func那么func里面的this就是obj
2.调用的时候,没有任何前缀,则指向window,new的时候,则指向new出来的对象
3.在默认情况(非严格模式下,未使用’use strict’),没找到直接调用者,则this指的是window
4.在严格模式下,没有直接调用者的函数中的this是undefined
5.使用call,apply,bind,this指的是绑定对象【也就是说用来重定义this这个对象】
8.promise和async await他有什么区别?
promise链式的,async await请求方法从异步变成了同步,async函数让代码简洁很多,不需要像promise一样需要then,避免嵌套大U吗
9.ES6的新特性有哪些?
promise,async await,class继承,结构赋值,定义const,var,let,箭头函数。
const定义的对象是可以改变的,因为const定义的只是那个指向对象的地址,地址指向的位置的内容是可以改变的
还没有评论,来说两句吧...