微信看到前端大全里面的一篇文章,汇总前端面试的试题,看完后唯一的感觉是:以我的学习能力和智商,恐怕要永远也干不了前端,深深地感到无力,居然连一道题都无法完整地打出来,瞬间崩溃了,我也太垃圾了,当初选择搞it是不是一个错误。。。。。。
算了,想太多也没用,再困难的事情总有办法解决,不知道的东西可以去学习,不要轻易放弃!
以下问题答案的信息来源为互联网,产生方式是:综合不同的搜索结果通过我自己的语言进行描述输出,因为我自己是新手一个,对问题以及答案的理解很可能跟正确的答案有出入,如果有不正确的地方,希望读者能指出来,然后再修正~
1.DOCTYPE的作用,严格模式和混杂模式如何区分,他们有什么意义?
DOCTYPE是document type 的缩写,顾名思义声明文档类型规范,告诉通用标记语言解析器用什么样的语言定义(Document Type Definition)去解析文档;
严格模式和混杂模式的区分要回归到DOCTYPE的声明,如果声明了符合标准的DTD,按照标准来,就是严格模式,如果没有声明或者没有按照标准正确声明,则触发混杂模式;
意义:决定了浏览器如何解析网页;
2.html5 为什么只需要写?
HTML5不基于SGML(Standard Generalized Markup Language)标准,所以不需要DTD去规范;
写DOCTYPE HTML是让浏览器知道这是html5文档;
3.行内元素有哪些,块级元素有哪些,空元素有哪些?
块级元素(block):ul, dl, table, h1-h6, p, blockquote, dt, address, div;
行内元素比较多了,常用的列举即可
空元素:所谓空元素就是无闭合的标签,比如br, hr, input, image,meta
以这种形式表现的’<’br’/”>’
4.页面导入样式时,link和@import有什么区别?
区别1:加载文件类型的差别,link可以加载js,css等外部文件,@import属于css语法,只能加载css文件
区别2:文件加载时间的差额:link加载的css文件在页面被加载的同时进行外部文件加载,而@import在页面加载完成后才开始加载css文件;
区别3:兼容性问题,@import在css2.1之后才引入,在ie5以上的版本才能识别,link无此问题;
区别4:js使用dom控制样式的可控性,js使用dom控制样式,只能使用link标签,无法控制@import引入css;
5介绍对浏览器内核的理解: