前端面试记录

1.css盒子模型中的绝对定位和相对定位的区别?

absolute 绝对定位是相当于父元素的定位;

fixed 绝对定位是相对与浏览器窗口定位;

relative 相对定位是相对于其正常位置进行定位;

2.清除浮动有哪些方法?

1.父级div定义height;

2.在结尾处加空div css:clear:both;

3.父级div定义伪类:after和zoom;

IE8以上和非IE浏览器支持after;

IE6支持zoom;

3. px,em,rem,三者区别?

PX(像素):绝对单位。

rem:相对单位

4.如何理解闭包?

闭包是可以访问上一层函数里变量的函数,即便上一层函数已经关闭。

5.什么是mvc和mvvm?

MVC是一种架构模式,是Model(模型),View(视图),Controller(控制器)缩写。Model:数据模型,数据和业务逻辑都在Model定义。view:视图。Controller:调节Model和view交互。

MVVM是一种设计思想,是Model——View——ViewModel的缩写。Model:数据模型,数据和业务逻辑都在Model定义。View:视图。ViewModel:负责监听Model中数据的改变并且控制视图的更新,处理用户交互。它是通过双向数据绑定把View和Model连接在一起,而View和Model之间的同步工作是完全自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题。



6.对数组操作有哪些方法?

1.添加:
push——在数组末尾添加元素。

unshift——在数组头部添加元素。

concat——合并两个数组。

2.删除

pop——删除数组最后一个元素。

shift——删除数组头部元素。

3.排序

reverse——颠倒

7.什么是跨域?

当出现域名不同或者同一域名下的不同端口,不同协议。

8.ES6的新特性有哪些?

1.默认函数。2.模板表达式。3.多行字符串。4.拆包表达式。5.改进的对象表达式。6.箭头函数=>。7.块级作用域let和const。8.模块化。

9.声明变量有哪些?

var let const

10.HTML兼容性处理方法

1.不同浏览器的margin和padding不同。

解决方法:全局css margin:0;padding:0。

2.IE6中,父级元素浮动以后,内部元素撑不开宽度。

解决方法:元素内部的块级元素也设置浮动。

3.IE6小于19px,会默认成19px.

解决方法:overflow:hidden。

4.IE6不支持1px的边框样式。

解决方式:采取背景平铺。

11.页面优化的方法?

1.减少HTTP请求数量,可以使用打包工具gulp,webpack合并css和js文件,还有图片采用懒加载。

2.减少被请求文件的大小,减少请求数据占用网络宽带。

3.利用浏览器的缓存。

4.删除html的默认属性优化css。


12.GET和POST的区别?

1.请求方式不同,GET请求数据会附加在URL上,POST请求数据放置在HTTP请求包的包体中

2.传输大小不同,GET传输数据是1024,POST是3M.

3.安全性,POST的安全性比GET高

4.后退页面不同,POST后退页面会重新请求,GET不会

13.原型继承有几种方法?

1.属性拷贝

2.原型式继承

3.原型链继承

4.借用构造函数继承

5.组合继承

14.常用的状态码有哪些?

200 请求成功

500 服务器报错

400 语义有误,当前请求无法被服务器理解

403 服务器拒绝请求

404找不到请求网页

408请求超时

304自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容

15.vue有哪些命令?

v-model双向绑定

v-for循环

v-if 元素的存在与否

v-bind属性绑定

v-on事件绑定

v-show是否显示

16.VUE的生命周期?

生命周期是从开始创建,初始化数据,编译模板,挂在DOM,渲染——更新——渲染,卸载等一系列过程。

17.v-if与v-show的区别?

v-show 仅仅控制元素的显示方式,将display属性在block和none之间切换

v-if 会控制这个DOM节点的存在与否

18.vue数据双向绑定原理?

是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调

你可能感兴趣的:(前端面试记录)