JavaScript 的“严格模式”(strict mode)是 ECMAScript 5 中新增的一种代码执行模式。它可以让 JavaScript 引擎在执行脚本时更加严格地遵循规范,减少一些常见的错误,提高代码质量和性能。
使用方法
要使用“严格模式”,只需要在代码文件或函数体的顶部添加 "use strict";
即可。例如:
---- -------- -------- ------------ - -- ---------------- -
使用“严格模式”可以有助于增强代码的可维护性、可读性和安全性,并且可以消除某些不合理的语言特性。以下是一些关键的变化:
变量必须先声明
在“严格模式”下,必须先声明变量,才能使用它们。这意味着不能省略 var
、let
或 const
关键字,否则会抛出一个异常。例如:
---- -------- ----- - ------ ------- -- ------- ----- -----
禁止删除变量和函数
在“严格模式”下,无法删除函数或变量。如果尝试删除一个变量或函数,则会抛出一个异常。例如:
---- -------- --- ----- - ---- ------ ------ -- -----------
禁止修改只读属性
在“严格模式”下,无法修改只读属性。如果尝试修改一个只读属性,则会抛出一个异常。例如:
---- -------- --- --- - --- -------------------------- --------- - ------ ---- --------- ----- --- ---------- - ---- -- -------------
禁止使用未定义的变量
在“严格模式”下,无法使用未声明的变量。如果尝试使用一个未声明的变量,则会抛出一个异常。例如:
---- -------- ----- - ------ ------- -- ------- ----- -----
函数必须具有独立的作用域
在“严格模式”下,每个函数都必须具有独立的作用域。这意味着不能在函数内部访问外部函数的变量,除非将这些变量作为参数传递进来。例如:
---- -------- -------- ------- - --- - - --- -------- ------- - --- - - --- --------------- -- ---- - - -------- --------------- -- --------- - -
eval 和 with 关键字被禁止使用
在“严格模式”下,不能使用 eval
和 with
关键字。这是因为它们会导致一些安全和性能问题。例如:
---- -------- --------- - - ------- -- --------- ---- ---- ------ - --------------------- -- --------- ---- -
指南
使用“严格模式”可以提高 JavaScript 代码的质量和性能,并减少一些常见的错误。以下是一些指导意义:
- 在新项目中建议启用“严格模式”;
- 在老项目中,慢慢引入“严格模式”,先解决一些低-hanging fruit 的问题;
- 不要省略
var
、let
或const
关键字; - 避免使用
eval
和with
关键
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/10149