2019前端经典面试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1,html和xml有什么区别
html是超文本标记语言xml是可扩展标记语言
html语法宽松,xml语法严谨
html使用固有标记,xml没有固有标记
html标签预定义,xml标签可扩展,可定义
html是用来显示数据的,xml是用来描述和存储数据的
2,css有哪几种选择器?权重的优先级?
第一种为属性选择器
第二种为id选择器
第三种为class选择器
第四种为伪类选择器
第五种是后代选择器
第六种是标签选择器
第七种是通用选择器
第八种是伪元素选择器
1.第一等:代表内联样式,如: style=””,权值为1000。
2.第二等:代表ID选择器,如:#content,权值为0100。
3.第三等:代表类,伪类和属性选择器,如.content,权值为0010。
4.第四等:代表类型选择器和伪元素选择器,如div p,权值为0001。
5.通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。
6.继承的样式没有权值。
3,网页有哪几部分组成?
结构层:html
表示层:css
行为层:js和dom
4,一个200*200的div在不同分辨率屏幕上下左右居中,用css实现
Div{
position:absolute;
width:200px;
height:200px;
top:50%;
left:50%;
margin-top:-100px;
margin-left:-100px;
}
5,阐述清楚浮动的几种方式
第一种父级div定义高度height 适合高度固定的布局
第二种父级div定义overflow:hidden
第三种结尾处加空标签clear:both 让父级自动获取高度
第四种父级div定义伪类:after 和zoom
6,解释css sprites,如何使用?
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。
CSS Sprites为一些大型的网站节约了带宽,让提高了用户的加载速度和用户体验,不需要加载更多的图片
7,如何用原生js给一个按钮绑定两个onclick事件?
Var btn1 =document. getElementsById(“btn”);
btn1.addEnventListener(“click”,”hello1);
btn1.addEnventListener(“click”,”hello2);
function hello1(){
alert(“hello1”);
}
function hello2(){
alert(“hello2”);
}
8, 拖曳会用到哪些事件?
Dragstart
Dragenter
Dragover
Dragleave
Drag
Drop
Dragend
9, 请列举jQuery中选择器?
1,基本选择器
ID,class,元素之类的
2,层级选择器
返回的是jQuery对象才可以进行的链式操作
如后代元素,子元素,兄弟元素,相邻元素
3,过滤选择器
基本过滤, 内容过滤, 可见性过滤, 属性过滤, 子元素过滤和表单对象属性过滤选择器
10,JavaScript中有哪些定时器,他们的区别和用法是什么?
SetTimeout 只会执行一次
SetInterval 会一直重复执行
方式都为:settimeout(函数,时间)
11,请描述一下cookies sessionstorage 和localstorage区别
相同点:都储存在客户端上
不同点:1 储存大小
Cookies 数据大小不能超过4k
Sessionstorage和Localstorage 比cookies大,可以达到5m或更多
2有效时间
Localstorage 储存持久数据,浏览器关闭后也不会丢失,除非主动删除数据
Sessionstorage 数据在关闭游览器之后自动删除
Cookies 设置的cookies过期时间之前一直有效,即使窗口和游览器关闭。
3数据与服务器之间的交互方式
Cookies的数据会自动的传递到服务器,服务器端也可以写cookies到客户端
Sessionstorage和localstorage 不会上传到服务器,仅在本地保存
12,计算一个数组arr所有元素的和
//可以通过document.getelmentbyid().value;来获取输入框中的值
function sum2(){
var arr1=[1,2,3,4,5,6,7,8,9];
var sum1=0;
for (var i=0;i<=arr1.length;i++) {
if (typeof arr1[i]=="number") {
sum1+=arr1[i];
}
}
document.write(sum1);
}