严格模式的限制

严格模式(是ES5引入的,不属于ES6)

ES6的模块自动采取严格模式,不管有没有在模块头部加上“use strict”

严格模式主要有以下限制:

  • 变量必须声明后使用
  • 函数的参数不能有同名属性,否则会报错
  • 不能使用with语句
  • 不能使用前缀0表示八进制数,否则会报错
  • 不能删除变量(delete prop),只能删除属性(delete global[prop])
  • eval不会在其外层作用域内引入变量
  • arguments不会自动反映函数参数的变化
  • 不能使用arguments.callee
  • 不能使用arguments.caller
  • 禁止this指向全局变量
  • 不能使用fn.caller和fn.arguments获取函数调用的堆栈
  • 增加了保留字(比如:protected,static和interface)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章