Open zhh10 opened 4 years ago
"use strict"
function A(){ "use strict" ...... }
"use strict" v = 1 //报错
with
with(a){ v = 2 } //报错
eval
"use strict" var x = 2; console.log(eval("var x = 5")) //5 console.log(x) // 2
this
undefined
function A(){ this.b = 123 } A() // 报错
configurable
true
"use strict" var obj = {a:123} Object.defineproperty(obj,'a',{configurable:true}) delete obj.a // 删除成功
arguments
进入严格模式
如何调用
语法和行为改变
with
语句eval
作用域 严格模式开设了第三种作用域:eval
作用域 严格模式下,eval
语句本身就是一个作用域,不再能够生成全局变量了,它所生成的变量只能用于eval
内部this
指向全局对象 严格模式下,this
指向为undefined
configurable
设置为true
的对象属性,才能被删除arguments
的限制arguments
赋值arguments
不再跟踪参数的变化