ES5

86 阅读1分钟

ES5 引入了严格模式:"use strict"

作用

  1. 消除了一些不合理的地方
  2. 提高了代码的运行效率
  3. 保证代码运行安全

分类

  1. 全局严格:函数外的,全局

  2. 局部严格:函数内的,局部

使用

  • "use strict"

  • 全局严格:

    • "use strict"必须放在js代码的第一 行
// 全局严格:use stirct放第一行
"use strict"
function fn1() {
    console.log(this)
}
//加了严格模式输出为:undefined
// 不加为:window
fn1()  
  • 局部严格:

    • "use strict"放在函数内部的第一行
// 局部严格:在函数内部添加,只对函数内部有用
function fn2() {
    console.log(this)
}
fn2()  //window
function fn3() {
    "use strict"
    console.log(this)
}
fn3() //undefined

注意事项

  1. 不可以省略var声明变量
  2. 禁止函数使用this关键字指向全局变量
  3. 禁止使用八进制方法
  4. 不允许在非函数的代码块内声明函数
  5. 严格模式下,arguments变量不变(不同步)
  6. 作用域:全局、局部、块级作用域、在严格模式下,eval函数作用域