Web前端试题
1.CSS有哪些选择器
ID,class,标签选择器,父子,通配符,分组,兄弟,后代,伪类
2.描述一下你对盒子模型的认识
作为一个div,可以设置背景,颜色,边框,内外边距,浮动,定位,可以容纳各种标签,一个div,嵌套div,塌陷现象,块级元素都可以做盒子,盒子模型占用的空间:外边距+边框+内边距+内容
3.使用CSS有哪三种方式,它们的优先级是如何排列
-
行内样式,页内样式,外部样式
-
行内样式>页内样式>外部样式
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的区别
-
const不能重新赋值,但是const定义的对象内部是可以变化的,局部变量
-
var定义数据,声明变量,存在变量提升(提升就是在定义变量前可以使用该变量)
-
let是局部变量
8.null和undefined的区别
-
undefined:没有初始化变量(某人没有小金库)
-
null:用空来初始化变量(某人的小金库没有钱)
9.JavaScript中if(exp)结果为false有哪几种可能情况
-
exp为空或没有定义,值为零,NaN不是数字
10.写出IP的正则校验
11.JavaScript中数组有哪些常用方法,各有什么作用
-
shift():移除数组的第一个元素
-
unshift(1):在数组前插入元素
-
push:在数组后面插入元素
-
pop:移除数组最后一个元素
-
join:返回一个指定字符拼成的字符串,把数组的元素用指定的字符拼成一个字符串
-
sort排序
-
slice分割
-
reverse反转数组
12.HTML5有哪些新特性
-
用html5实现flash功能,减少第三方插件;
-
标签语义化
-
增加了一些标签(canvas)
13.如何清除浮动
-
clear:left/right/both,清除前面的浮动的元素带来的影响。