一、DOCTYPE
作用是什么?严格模式与混杂模式如何区分? 它们有何意义?
首先定义结论 :
简单来说 :
<!DOCTYPE>
是为了告诉浏览器该文件的类型。
让浏览器的解析器知道应该用哪个规范来解析文档,通过DTD区分严格模式与混杂模式<!DOCTYPE>
不存在或形式不正确会导致文档以怪异模式呈现,存在时就将严格按照w3c语法规范执行代码。
意义是为了在新的语法当中能够向下兼容以前的浏览器版本和语法,且支持最新的w3c语法而产生的。
复杂来说 :
<!DOCTYPE>
声明叫做文件类型定义,是为了告诉浏览器该文件的类型。
让浏览器解析器知道应该用哪个规范来解析文档,浏览器解析时到底使用标准模式还是怪异模式,<!DOCTYPE>
与你网页中的DTD声明直接相关,DTD声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略DTD声明,将使网页进入怪异模式。DOCTYPE 不存在或形式不正确会导致文档以怪异模式呈现。HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。
严格模式与混杂模式存在的意义与其来源密切相关,如果说只存在严格模式,那么许多旧网站必然受到影响,如