前端测试题及答案

1. CSS有哪些选择器

id、class、父子、标签、*(通配符)、分组、兄弟、后代、伪类

2. 描述一下你对盒子模型的认识

作为一个容器,可以设置背景,颜色,边框,内外边距,浮动,定位,可以容纳各种标签,塌陷现象,块级元素都可做盒子。盒子占用的空间:外边距+内边距+内容

3. 使用CSS有哪三种方式,他们的优先级是如何排列的

行内,在html元素里书写style,在style中直接写样式代码 > 头部,在style标签中书写样式代码 > 使用link标签引用样式文件

4. CSS中长度单位有哪些

px、em(相对于父元素的字体大小)、%、cm、mm、in、pt、pc、rem(root em,相对于根元素的字体大小)(如果父元素的字体是1px,子元素是2em,就是2px,子元素的子元素是2em,就是4px,rem不管有多少层,都是针对1px的倍数)

5. 相对定位、绝对定位和固定定位的区别

绝对定位与父类有关,取决于父类,相对于页面的位置(相对定位),固定相对于浏览器(不会随浏览器动)
不释放空间(相对),释放空间(绝对),相对于浏览器左上角,释放空间(固定)

相对定位:不释放空间,相对于父元素。(页面流,页面上的元素就像一个流一样,每个元素占流中占用一个位置)

绝对定位:相对于已经定位过的父元素的位置,释放空间。
固定定位:相对于浏览器左上角,释放空间

6. JavaScript有几种数据类型

Boolean、Number、String、undefined、null、Object

7. let、var、const的区别

var定义数据,声明变量,存在变量提升。(提升就是在定义变量前可以使用该变量)

const不能重新赋值,但是const定义的对象内部是可以变化的

let是局部变量

8. null和undefined的区别

undefined是没有初始化变量(某人没有小金库)

null是用空来初始化变量(某人的小金库没有钱)

9. JavaScript中if(exp)结果为false有哪几种可能情况

exp为空或没有定义,值为零,NaN不是数字

10. 写出IP的正则验证

/^(d|[1-9]d|1dd|2[0-4]d|25[0-5]).(d|[1-9]d|1dd|2[0-4]d|25[0-5]).(d|[1-9]d|1dd|2[0-4]d|25[0-5]).(d|[1-9]d|1dd|2[0-4]d|25[0-5])$/

11. JavaScript中数组有哪些常用方法,各有什么作用

unshift在数组前插入元素

shift移除数组的第一个元素

push在数组后面插入元素

pop移除数组最后一个元素

join返回一个用指定字符拼成的字符串,把数组的元素用指定的字符拼成一个字符串

sort排序

slice分隔(截断数组,子数组)

reverse反转数组

12. HTML5有哪些新特性

用html5实现flash功能,减少第三方插件;标签语意化;增加了一些标签(canvas)

13. 如何清除浮动

clear: left/right/both,清除前面的浮动的元素带来的影响。

14. 如何让一个DIV水平垂直方向上居中

html, body {
       100%;
      height: 100%;
}

div {
      border: red solid;
      100px;
      height:100px;
      margin:-50px auto;
      position:relative;
      top:50%;
}
原文地址:https://www.cnblogs.com/zbh355376/p/14197625.html