• HTML中的<!DOCTYPE html>和JavaScript中的strict mode


    HTML中的JavaScript中的strict mode

    本文包括:的说明、JavaScript严格模式(strict mode)

    关于HTML中的

    文档类型声明,确保浏览器按照最佳的相关规范进行渲染,而不是使用一个不符合规范的渲染模式。https://developer.mozilla.org/zh-CN/docs/Glossary/Doctype

    是html5标准网页声明,原先的是一串很长的字符串,现在是这个简洁形式,支持html5标准的主流浏览器都认识这个声明。在 HTML5 中,声明唯一的作用是启用标准模式。更早期的 HTML 标准中, 声明会附加其他意义,对于早期的附加的其它意义因过时了就不多说了,有兴趣的读者可见 https://cloud.tencent.com/developer/article/1018828

    注意, 声明位于文档中的最前面的位置,处于 标签之前。DOCTYPE是document type(文档类型)的简写。 声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本。是所有可用的 DOCTYPE 之中最简单的,也是 HTML5 所推荐的,不用区分大小写,但一般这样写。

    下面给出一个简单而比较完整的网页文件示意:

    1. html>
    2. <html lang="zh">
    3. <head>
    4. <meta charset="utf-8" />
    5. <meta name="viewport" content="width=device-width" />
    6. <title>页面标题title>
    7. head>
    8. <body>
    9. <h1>h1级文本标题h1>
    10. <p>文本段落p>
    11. body>
    12. html>

    关于JavaScript中的strict mode(严格模式)

    ECMAScript 5 引入了 strict mode ,现在已经被大多浏览器实现。若浏览器不支持会被忽略。“use strict” 的目的是指定代码在严格条件下执行,如严格模式下你不能使用未声明的变量。严格模式通过在脚本或函数的头部添加 use strict; 表达式来声明。

    严格模式对正常的 JavaScript 语义做了一些更改。

    严格模式通过抛出错误来消除了一些原有静默错误。

    严格模式修复了一些导致 JavaScript 引擎难以执行优化的缺陷:有时候,相同的代码,严格模式可以比非严格模式下运行得更快。

    严格模式禁用了在 ECMAScript 的未来版本中可能会定义的一些语法。

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Strict_mode

    严格模式声明

    要启用严格模式,您只需要在JavaScript程序代码的开头添加:

    "use strict";

    'use strict';

    指令即可

    我们可以在浏览器按下 F12 (或点击"工具>更多工具>开发者工具") 开启调试模式,查看报错信息。

    严格模式的限制

    ☆不允许使用未声明的变量的情况

    例1、

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>使用“use strict”情况之一title>
    6. head>
    7. <body>
    8. <h3>使用 "use strict":不允许使用未定义的变量。h3>
    9. <p>浏览器按下 F12 键开启调试模式,可查看到报错信息。p>
    10. <script>
    11. "use strict";
    12. let x;
    13. x = 10.50;
    14. y = 20.12// 报错 (y 未定义)
    15. script>
    16. body>
    17. html>

    保存文件名:使用use_strict测试1.html

    用浏览器打开运行后,再按下F12键可查看到报错信息

    未使用 use strict如果一个变量没有声明就赋值,默认是全局变量。使用 use strict则禁止这种用法,变量必须显式声明。再给出一例如下。

    例2、

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>使用“use strict”情况之一title>
    6. head>
    7. <body>
    8. <h3>使用 "use strict":不允许使用未定义的变量示例2。h3>
    9. <p>浏览器按下 F12 键开启调试模式,可查看到报错信息。p>
    10. <script>
    11. "use strict";
    12. for (i = 0; i < 2; i++) {
    13. // 报错,i未声明
    14. }
    15. script>
    16. body>
    17. html>

    保存文件名:使用use_strict测试2.html

    用浏览器打开运行后,再按下F12键可查看到报错信息:

    ☆其它一些情况,就不多说了,可见向严格模式过渡 - JavaScript | MDN (mozilla.org)

  • 相关阅读:
    spring boot项目一次性能测试的总结
    设计高并发秒杀系统:保障稳定性与数据一致性
    低代码平台自动化办公--异行星低代码平台为例(一)
    OpenAI GPT-4.5 Turbo 泄露,六月或将发布
    Servlet的生命周期
    一名资深架构师规划Java程序员五年职业生涯指南
    C++ map和unordered_map的区别和联系以及map的使用
    大专毕业,24岁了,转行软件测试还行吗?
    Vue3中使用Proxy API取代defineProperty API的原因
    TCP协议之《对端MSS值估算》
  • 原文地址:https://blog.csdn.net/cnds123/article/details/126758610