什么是严格模式
所谓严格模式就是是ECMAScript 5中的一项新功能,它允许将程序或函数放置在严格的操作环境中,这种方法的好处规范了开发人员编写代码的规范以及减少页面出错。即使有良好的现代开发经验,也需要使用JavaScript严格模式,因为它会触发真实环境来进行语法检查。这意味着我们在执行时可以实时分析并显示语法和代码质量问题
如何使用JavaScript的严格模式
严格模式是一个非常安全的功能,每个现代浏览器和节点都支持严格模式。如果浏览器不支持严格模式,则就会忽略表达式,它只是一个字符串后跟一个分号,一个完全合法的JavaScript语句。
要使用严格模式,只需添加“use strict”,可以放在脚本的开头,或者函数内的表达式
优势
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 修复了JavaScript引擎难以执行优化的错误
- 禁止使用可能在ECMAScript的未来版本中定义的潜在保留字
严格模式下的限制
- 不允许使用未声明的变量:
- 不允许删除变量或对象。
- 不允许删除函数。
- 不允许变量重名:
- 不允许使用八进制:
- 不允许使用转义字符:
- 不允许对只读属性赋值:
- 不允许对一个使用getter方法读取的属性进行赋值
- 不允许删除一个不允许删除的属性:
- 变量名不能使用 “eval” 字符串:
- 变量名不能使用 “arguments” 字符串:
- 由于一些安全原因,在作用域 eval() 创建的变量不能被调用