Dotcpp  >  编程教程  >  JavaScript基础语法及数据类型  >  JS严格模式介绍

JS严格模式介绍

点击打开在线编译器,边学边练

因为JS语法不严谨,例如上节说到的变量提升,可以先使用在声明,这时JS引入了严格模式。

JS自带一种模式,JavaScript的严格模式(Strict Mode)是一种对JavaScript解析和执行的一种限制模式。通过启用严格模式,可以帮助开发者避免一些常见的错误,并且使代码执行更加规范。

JS严格模式

JavaScript的严格模式(Strict Mode)是一种对JavaScript解析和执行的一种限制模式。通过启用严格模式,可以帮助开发者避免一些常见的错误,并且使代码执行更加规范。

要在JavaScript中启用严格模式,可以在脚本文件或函数的顶部添加以下语句:

"use strict";

例如:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>www.dotcpp.com </title>
</head>
<body>
    <script>
        "use strict";
        x = 'www.dotcpp.com'; // 此处报错:Uncaught ReferenceError: x is not defined
    at www.dotcpp.com.html:10:11        console.log(x);
    </script>
</body>
</html>

或者在函数体内部的第一行添加该语句。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>JavaScript</title>
</head>
<body>
    <script>
        x = 'www.dotcpp.com';
        console.log(x);
        function Hello(){
            'use strict';
            str = 'welcome www.dotcpp.com'; // 调用 Hello() 函数在此处报错:Uncaught ReferenceError: str is not defined
    at Hello (www.dotcpp.com.html:13:17)
    at www.dotcpp.com.html:16:9
            console.log(str);
        }
        Hello();
    </script>
</body>
</html>

严格模式下的一些特点包括:

1.  变量必须先声明后使用:在严格模式下,变量必须通过var、let或const关键字进行声明,否则会抛出ReferenceError。

2.  禁止删除变量:在严格模式下,使用delete操作符删除变量会报错。

3.  函数中的this值:在严格模式下,函数调用中的this值不会被默认绑定到全局对象(如window),而是为undefined。需要显式绑定this值。

4.  禁止使用八进制字面量:在严格模式下,八进制字面量(以0开头)将被视为无效的,并导致SyntaxError。

5.  禁止使用eval和arguments作为变量名:在严格模式下,eval和arguments被彻底禁止作为变量、函数或参数的名称。

启用严格模式可以提高代码质量并捕获潜在的错误。建议在JavaScript开发中始终使用严格模式来加强代码的规范性和可靠性。

这节我们简单介绍了严格模式对编码的影响,下节我们将具体举例在严格模式下的报错情况。



本文固定URL:https://www.dotcpp.com/course/1299

上一课:

JS变量提升

下一课:

JS严格模式实例

JavaScript教程
第一章 JavaScript入门
第二章 JavaScript基础语法及数据类型
第三章 JavaScript函数
第四章 JavaScript类
第五章 JS高级教程
第六章 JS Window
第七章 JS库
Dotcpp在线编译      (登录可减少运行等待时间)