# 前端面试HTML问什么
- href和src有什么区别
平时业务开发的时候会经常引入一些资源文件,常见的引用方式就是通过src
和href
来引用
href
:Hypertext Reference
的缩写,超文本引用,它指向一些网络资源,建立了和当前元素或者说是本文档的链接关系。加载的时候浏览器不会停止对当前文档的处理,会继续往下走,这也是为什么浏览器会并行地下载CSS
而不会阻塞页面解析,因此建议引用CSS
使用<link>
而不是@import
src
:Source
,表示对资源的引入,它指向的内容会嵌入当前标签所在的位置。由于src
的内容是页面的不可缺少的一部分,因此浏览器在解析src
时会停下来对后续文档进行处理,直到src
的内容加载完毕。所以才建议js
文件放在HTML
文档最后面。
- 为什么
HTML5
不需要DTD(Document Type Definition文档类型定义)
HTML5
没有使用XML/SGML
,不需要参考DTD
,只需要在文档类型代码中告诉浏览器这是HTML5
文档
<!DOCTYPE html>
1
TIP
DOCTYPE
是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义来解析文档。只有确定一个正确的文档类型,超文本标记语言/可扩展超文本标记语言中的标签和层叠样式表才能生效,甚至对js脚本都有影响
HTML
标签相关的操作判断题目
- 统计HTML标签中以b开头的标签数量
- 统计HTML标签中出现次数最多的标签
- 判断
DOM
标签的合法性- 标签的闭合
span
标签不能有div
- 其他符合HTML标签合法性的规则
TIP
在
DOM
中根据标签去获取元素的原生api
是getElementsByTagName()
,它返回的是一个包含所有给定标签名称的元素HTML
集合HTMLCollection[1]
, 整个文件结构都会被搜索,包括根节点。我们可以通过document.getElementsByTagName('*')
来获取当前文档中的所有标签。
第一个小问题:
const tags = document.getElementsByTagName('*');
// 要使用数组的方法必须将类数组转为真正的数组
const value = [...tags].filter((item) => item.tagName.startsWith('B'))
1
2
3
2
3
第二个问题就可以利用map
数据结构来判断,这里也可以利用对象来存储。
CSS常问面试题 →