Skip to content

JS严格模式

🕒 Published at:

'use strict'使用严格模式会产生什么问题?

https://wangdoc.com/javascript/oop/strict

在ES6规范出来之前,为了明确禁止一些不合理、不严谨的语法,减少 JavaScript 语言的一些怪异行为,而设计的一种更加严格的JS语法。在阮一峰老师的JS教程里面有很详细的介绍

  1. 只读属性不可写
  2. 禁止扩展的对象不可扩展
  3. eval、arguments 不可用作标识名
  4. 函数不能有重名的参数
  5. 禁止八进制的前缀0表示法
  6. 全局变量显式声明
  7. 禁止 this 关键字指向全局对象
  8. 禁止使用 fn.callee、fn.caller
  9. 禁止使用 arguments.callee、arguments.caller
  10. 禁止删除变量
  11. 禁止使用 with 语句
  12. 创设-eval-作用域
  13. arguments-不再追踪参数的变化
  14. 非函数代码块不得声明函数
  15. 新增了一些保留字(比如implements、interface、let、package、private、protected、public、static、yield等)