【每日阅读】前端知识(四)

1、闭包

内部变量能够访问外部变量,但是外部变量无法访问内部变量叫做闭包.

2、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

Doctype是用来声明文档类型告诉浏览器如何解析当前页面的内容,
现代浏览器分为三种模式:标准模式(严格模式)、准标准模式(混杂模式)Almost
Standards模式,严格模式和混杂模式主要是根据浏览器是否能够正确解析页面的错误语法并识别
在严格模式中,浏览器啊会严格按照规范解析页面,对错容性差的语法报错,按照最新标准渲染,因此建议开发者按照严格模式开发
混合模式,浏览器会议一种类似于IE5的方式来解析页面,主要是为了保持旧网站的兼容性,但是意义不大,尽可能少用混杂模式开发.

3、HTML5为什么只需要写?

在 HTML 5 中, 的声明不再需要指定DTD(文档类型定义),而只需要写即可。这是因为HTML
5的语法比以往版本更简化,其中许多不再需要的语法元素被去除,标签名称也被统一为小写,这样就不需要指定DTD来严格确立文档类型了。

此外,HTML 5的设计目标之一是使得页面能够更易于书写和阅读、更加清晰,同时这也是为了方便开发者。因此,HTML 5 直接使用

作为文档类型声明,大大简化了前端开发的工作。

总之,HTML
5中的简化语法和标准化设计使得我们仅需要声明一个简单的文档类型即可,简化了开发过程并加快了网页的加载速度,同时还为未来Web技术的发展奠定了良好的基础。

4、行内元素有哪些?块级元素有哪些?空(void)元素有那些?

行内元素
:超链接
文本容器
斜体文本
强调文本
加粗文本
图像
输入框

块级元素

通用块级元素

~

标题

段落

    无序
      有序
    1. 列表项
      表格
      表单


      :换行
      :水平线 :图像 :文本输入框、单选框等 :外部资源引入 :元数据信息 :图像地图热点区域定义 :基本链接地址

      04、页面导入样式时,使用link和@import有什么区别?
      页面中导入样式有两种导入方式一种是:link一种是@import
      link是HTML的标签,通常用于在HTML中导入外部样式,

      <link rel="stylesheet" type="text/css" href="style.css">
      

      @import 是 CSS 提供的语法,通常用于在 CSS 中导入外部样式表,其语法如下:

      <style>
        @import url(style.css);
      </style>
      

      需要注意的是,@import 必须写在 CSS 样式表的顶部,否则可能会影响页面的性能和渲染效果。并且,当使用 @import 导入 CSS
      的时候,页面需要等到所有的 CSS 文件加载完毕后才会被渲染,因此会相应地影响页面的加载速度。

      综上所述,link 和 @import 都是可以用于导入外部样式表的方式,但二者有不同的使用场景和特点。通常情况下,开发者应该优先选择
      link 标签来导入 CSS 文件,因为它更符合 W3C 的标准,也能提高页面性能和渲染效果。

      5、介绍一下你对浏览器内核的理解?

      浏览器内核是指浏览器用来解析和渲染网页的核心部分,他负责HML、CSS和javaScript代码,将他们转化成页面元素,在不同浏览器中核心部分有所差异,因此呈现出不同效果。

      6、常见的浏览器内核有哪些?

      Trident
      

      Trident 内核是 Microsoft 公司推出的浏览器内核,最初是为 IE 浏览器而开发的。这种内核被用于 IE6 到 IE11 版本的浏览器中,经过多年的演进,其对 CSS3 和 HTML5 的支持已经相当全面。

      Gecko
      

      Gecko 内核是 Mozilla 公司为 Firefox 浏览器开发的内核。与 Trident 相比,Gecko 更加注重标准化,因此对 HTML5 和 CSS3 的支持非常完善。此外,Gecko 还具备优秀的扩展性,可以通过插件和扩展来增强浏览器功能。

      WebKit
      

      WebKit 内核最初由苹果公司开发,被用于 Safari 浏览器。它是一种开源技术,并被 Chrome 和 Opera 等浏览器所采用。WebKit 内核可以称为浏览器内核中的佼佼者,因为它的渲染速度和性能非常出色。

      Blink
      

      Blink 内核是由 Google 公司基于 WebKit 开发的一种新型浏览器内核。自 Chrome 28 版本起,Google 将其作为 Chrome 浏览器的默认内核,取代了 WebKit。Blink 内核继承了 WebKit 的优良传统,同时也进行了许多改进和优化,使得它拥有更快的渲染速度和更优秀的性能。

      总之,浏览器内核是浏览器的核心部分,直接影响着网页的渲染效果和性能。对于前端开发来说,需要熟悉不同浏览器内核的特点和差异,以便能够编写出兼容性更好的网页,并为用户提供更好的浏览体验。

      7、html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?HTML5 是 HTML 标准的最新版本,引入了许多新特性和语法,同时也删除或替换了一些元素。以下是 HTML5 中一些主要的新特性和变化:

      1. 新标签

      HTML5 引入了一些新的语义化标签,例如 headerfooternavsectionarticleaside 等,可以更好地描述文档结构和内容。

      1. 表单控件

      HTML5 引入了一些新的表单控件,例如 datetimeemailurlsearch 等,使得开发者可以更方便地创建复杂的表单交互。

      1. 多媒体元素

      HTML5 引入了 audiovideo 元素,使得网页可以直接嵌入音频和视频资源,并支持多种格式的视频和音频文件。

      1. Canvas 和 SVG

      HTML5 引入了新的绘图标准 —— 画布(Canvas)和可缩放矢量图形(SVG),可以在网页中轻松绘制矢量图形和位图图像。

      1. Web Storage 和 Web Workers

      HTML5 引入了 Web Storage 和 Web Workers 技术,可以在浏览器端存储数据和进行多线程处理,提高了网页的性能和交互体验。

      此外,HTML5 还增强了语义化标签的功能,允许自定义数据属性,支持新的媒体元素和事件等。

      在删除或替换元素方面,HTML5 删除了一些不再使用的或过时的元素,例如 appletbasefontdirframeframesetnoframesisindex

      针对 HTML5 新标签的浏览器兼容问题,可以采用以下两种方式:

      1. 使用 Polyfill

      Polyfill 是指一些可以模拟新特性的 JS 库,它们可以为那些不支持 HTML5 新标签的浏览器提供一些补丁。开发者可以根据需要选择合适的 Polyfill 库,并将其引入到网页中。

      1. 使用 HTML5 Shiv

      HTML5 Shiv 是一款 JS 库,它可以让 IE 浏览器支持 HTML5 新标签。开发者可以将该库引入到 HTML 文档中,在老版本 IE 中就可以使用 HTML5 新标签了。

      总之,HTML5 引入了许多新特性和变化,使得 Web 开发更加灵活、高效和语义化。在开发过程中,需要根据实际需求充分利用这些特性,并采用合适的兼容性解决方案,以确保网页能够在各种浏览器和设备上正常运行。

      8、如何区分HTML和HTML5?

      HTML5 是 HTML 标准的最新版本,相对于早期的 HTML 标准,HTML5 引入了很多新特性和标签,并提高了网页的语义化、交互性和性能。因此,有以下一些方面可以用来区分 HTML 和 HTML5:

      1. 语法标准

      HTML5 相对于早期的 HTML 标准为文档类型定义(DTD)引入了一个新的声明方式 ,并允许省略标记的结束符(例如
      )。同时,HTML5 还引入了一些新的标签和属性,如