本章节是前端开发者面试问题 - HTML 部分的参考答案。 欢迎提出 PR 进行建议和指正!

DOCTYPE有什么用?

在页面开始处添加<!DOCTYPE html>即可。

如何提供包含多种语言内容的页面?

  1. HTML 文档还应在<html>标签中声明lang属性,比如<html lang="en">...</html>
  2. 客户端向服务器发送 HTTP 请求时,通常会发送有关语言首选项的信息,比如使用Accept-Language请求头

在设计开发多语言网站时,需要留心哪些事情?

  1. 引导用户切换到自己的母语,在 HTML 中使用lang属性
  2. 限制词语或句子的长度
  3. 不要使用连接的翻译字符串,这样做可能会打乱其他语言的语序,应该为每种语言编写带变量替换的模版字符串。I will travel on {% date %}{% date %} 我会出发。

请描述<script><script async><script defer>的区别。

  1. <script> - HTML 解析中断,脚本被提取并立即执行。执行结束后,HTML 解析继续。
  2. <script async> - 脚本的提取、执行的过程与 HTML 解析过程并行,脚本执行完毕可能在 HTML 解析完毕之前。当脚本与页面上其他脚本独立时,可以使用async,比如用作页面统计分析。
  3. <script defer> - 脚本仅提取过程与 HTML 解析过程并行,脚本的执行将在 HTML 解析完毕后进行。如果有多个含defer的脚本,脚本的执行顺序将按照在 document 中出现的位置,从上到下顺序执行。

注意:没有src属性的脚本,asyncdefer属性会被忽略。